[java-idp-plugin-metadatagen] 01/06: Initial commit from the archtype
Rod Widdowson
rdw at steadingsoftware.com
Fri Jun 11 09:47:51 UTC 2021
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch main
in repository java-idp-plugin-metadatagen.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-plugin-metadatagen.git;a=commit;h=194472e693cb40355bde224a965679dcf22b5c3f
commit 194472e693cb40355bde224a965679dcf22b5c3f
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Wed Mar 31 16:36:37 2021 +0100
Initial commit from the archtype
---
checkstyle.xml | 117 +++++++++++++++++++++
metadatagen-api/pom.xml | 59 +++++++++++
.../shibboleth/idp/plugin/metadatagen/Version.java | 32 ++++++
metadatagen-dist/pom.xml | 50 +++++++++
metadatagen-dist/src/main/assembly/assembly.xml | 74 +++++++++++++
.../src/main/resources/bootstrap/keys.txt | 1 +
metadatagen-impl/pom.xml | 42 ++++++++
.../idp/plugin/metadatagen/ExampleModule.java | 25 +++++
.../idp/plugin/metadatagen/ExamplePlugin.java | 27 +++++
.../META-INF/net.shibboleth.idp/postconfig.xml | 44 ++++++++
.../idp/flows/authn/myplugin/plugin-beans.xml | 22 ++++
.../idp/flows/authn/myplugin/plugin-flow.xml | 7 ++
.../services/net.shibboleth.idp.module.IdPModule | 1 +
.../services/net.shibboleth.idp.plugin.IdPPlugin | 2 +
.../idp/plugin/metadatagen/module.properties | 14 +++
.../idp/plugin/metadatagen/plugin.properties | 9 ++
pom.xml | 110 +++++++++++++++++++
17 files changed, 636 insertions(+)
diff --git a/checkstyle.xml b/checkstyle.xml
new file mode 100644
index 0000000..f3f13f6
--- /dev/null
+++ b/checkstyle.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+
+<!--
+ This configuration file was written by the eclipse-cs plugin configuration editor
+-->
+<!--
+ Checkstyle-Configuration: Shibboleth Checkstyle
+ Description: none
+-->
+<module name="Checker">
+ <property name="severity" value="warning"/>
+ <module name="TreeWalker">
+ <property name="tabWidth" value="4"/>
+ <module name="JavadocMethod"/>
+ <module name="JavadocType">
+ <property name="allowUnknownTags" value="true"/>
+ </module>
+ <module name="JavadocVariable"/>
+ <module name="JavadocStyle">
+ <property name="checkEmptyJavadoc" value="true"/>
+ </module>
+ <module name="ConstantName"/>
+ <module name="LocalFinalVariableName"/>
+ <module name="LocalVariableName"/>
+ <module name="MemberName"/>
+ <module name="MethodName"/>
+ <module name="PackageName"/>
+ <module name="ParameterName"/>
+ <module name="StaticVariableName"/>
+ <module name="TypeName"/>
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/>
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+ <module name="MethodLength">
+ <property name="max" value="70"/>
+ </module>
+ <module name="ParameterNumber">
+ <property name="max" value="5"/>
+ </module>
+ <module name="EmptyForIteratorPad"/>
+ <module name="MethodParamPad"/>
+ <module name="ModifierOrder"/>
+ <module name="AvoidNestedBlocks"/>
+ <module name="LeftCurly"/>
+ <module name="NeedBraces"/>
+ <module name="RightCurly"/>
+ <module name="EmptyStatement"/>
+ <module name="EqualsHashCode"/>
+ <module name="HiddenField"/>
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <module name="MissingSwitchDefault"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+ <module name="FinalClass"/>
+ <module name="HideUtilityClassConstructor"/>
+ <module name="VisibilityModifier"/>
+ <module name="ArrayTypeStyle"/>
+ <module name="UpperEll"/>
+ <module name="AnonInnerLength"/>
+ <module name="EmptyForInitializerPad"/>
+ <module name="CovariantEquals"/>
+ <module name="DefaultComesLast"/>
+ <module name="DeclarationOrder"/>
+ <module name="ExplicitInitialization"/>
+ <module name="FallThrough"/>
+ <module name="IllegalThrows"/>
+ <module name="MultipleVariableDeclarations"/>
+ <module name="PackageDeclaration"/>
+ <module name="ParameterAssignment"/>
+ <module name="ReturnCount">
+ <property name="max" value="8"/>
+ <property name="maxForVoid" value="8"/>
+ </module>
+ <module name="StringLiteralEquality"/>
+ <module name="SuperFinalize"/>
+ <module name="ArrayTrailingComma"/>
+ <module name="UnnecessaryParentheses"/>
+ <module name="MutableException"/>
+ <module name="ThrowsCount">
+ <property name="max" value="3"/>
+ </module>
+ <module name="CyclomaticComplexity"/>
+ <module name="TrailingComment"/>
+ <module name="EqualsAvoidNull"/>
+ <module name="ModifiedControlVariable"/>
+ <module name="FinalParameters">
+ <property name="tokens" value="METHOD_DEF,CTOR_DEF,LITERAL_CATCH"/>
+ </module>
+ <module name="FinalLocalVariable">
+ <property name="tokens" value="PARAMETER_DEF,VARIABLE_DEF"/>
+ <property name="validateEnhancedForLoopVariable" value="true"/>
+ </module>
+ <module name="SuppressionCommentFilter">
+ <property name="offCommentFormat" value="\bCheck[Ss]tyle:\s*([\w|]+)\s+OFF\b"/>
+ <property name="onCommentFormat" value="\bCheck[Ss]tyle:\s*([\w|]+)\s+ON\b"/>
+ <property name="checkFormat" value="$1"/>
+ </module>
+ <module name="MissingJavadocMethod"/>
+ <module name="MissingJavadocPackage"/>
+ <module name="MissingJavadocType"/>
+ <module name="InvalidJavadocPosition"/>
+ </module>
+ <module name="FileTabCharacter"/>
+ <module name="FileLength">
+ <property name="max" value="1000"/>
+ </module>
+ <module name="Header">
+ <property name="header" value="/*\n * Licensed to the University Corporation for Advanced Internet Development,\n * Inc. (UCAID) under one or more contributor license agreements. See the\n * NOTICE file distributed with this work for additional information regarding\n * copyright ownership. The UCAID licenses this file to You under the Apache\n * License, Version 2.0 (the "License"); you may not use this file except in\n * compliance with the License. You may obtain a cop [...]
+ </module>
+ <module name="JavadocPackage"/>
+ <module name="LineLength">
+ <property name="max" value="120"/>
+ </module>
+</module>
diff --git a/metadatagen-api/pom.xml b/metadatagen-api/pom.xml
new file mode 100644
index 0000000..502fa89
--- /dev/null
+++ b/metadatagen-api/pom.xml
@@ -0,0 +1,59 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>net.shibboleth.idp.plugin.metadatagen</groupId>
+ <artifactId>idp-plugin-metadatagen-parent</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>idp-plugin-metadatagen-api</artifactId>
+ <packaging>jar</packaging>
+ <name>Shibboleth IdP :: Plugins :: metadatagen API</name>
+ <description>IdP metadatagen plugin API.</description>
+
+ <properties>
+ <checkstyle.configLocation>${project.basedir}/../checkstyle.xml</checkstyle.configLocation>
+ <automatic.module.name>net.shibboleth.idp.plugin.metadatagen.metadatagen.api</automatic.module.name>
+ </properties>
+
+ <dependencies>
+ <!-- Provided dependencies -->
+ <dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <index>true</index>
+ <manifestEntries>
+ <Main-Class>net.shibboleth.idp.plugin.metadatagen.Version</Main-Class>
+ </manifestEntries>
+ <manifestSections>
+ <manifestSection>
+ <name>org/example/com/metadatagen/</name>
+ <manifestEntries>
+ <Implementation-Title>${project.artifactId}</Implementation-Title>
+ <Implementation-Version>${project.version}</Implementation-Version>
+ <Implementation-Vendor>FINISH</Implementation-Vendor>
+ </manifestEntries>
+ </manifestSection>
+ </manifestSections>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+
+</project>
\ No newline at end of file
diff --git a/metadatagen-api/src/main/java/net/shibboleth/idp/plugin/metadatagen/Version.java b/metadatagen-api/src/main/java/net/shibboleth/idp/plugin/metadatagen/Version.java
new file mode 100644
index 0000000..ac52cad
--- /dev/null
+++ b/metadatagen-api/src/main/java/net/shibboleth/idp/plugin/metadatagen/Version.java
@@ -0,0 +1,32 @@
+package net.shibboleth.idp.plugin.metadatagen;
+
+import javax.annotation.Nullable;
+
+/** Class for getting and printing the version of the IdP. */
+public final class Version {
+
+ /** IdP version. */
+ @Nullable private static final String VERSION = Version.class.getPackage().getImplementationVersion();
+
+ /** Constructor. */
+ private Version() {
+ }
+
+ /**
+ * Main entry point to program.
+ *
+ * @param args command line arguments
+ */
+ public static void main(final String[] args) {
+ System.out.println(VERSION);
+ }
+
+ /**
+ * Get the version of the IdP.
+ *
+ * @return version of the IdP
+ */
+ @Nullable public static String getVersion() {
+ return VERSION;
+ }
+}
\ No newline at end of file
diff --git a/metadatagen-dist/pom.xml b/metadatagen-dist/pom.xml
new file mode 100644
index 0000000..475f15c
--- /dev/null
+++ b/metadatagen-dist/pom.xml
@@ -0,0 +1,50 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>net.shibboleth.idp.plugin.metadatagen</groupId>
+ <artifactId>idp-plugin-metadatagen-parent</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>idp-plugin-metadatagen-dist</artifactId>
+ <name>Shibboleth IdP :: Plugins :: metadatagen Distribution</name>
+ <description>IdP metadatagen plugin packaging.</description>
+ <packaging>pom</packaging>
+
+
+ <properties>
+ <checkstyle.configLocation>${project.basedir}/../checkstyle.xml</checkstyle.configLocation>
+ <dist.plugin.finalName>idp-plugin-metadatagen-${project.version}</dist.plugin.finalName>
+ </properties>
+
+ <build>
+ <plugins>
+ <!-- Assemble -->
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <appendAssemblyId>false</appendAssemblyId>
+ <descriptors>
+ <descriptor>src/main/assembly/assembly.xml</descriptor>
+ </descriptors>
+ <finalName>${dist.plugin.finalName}</finalName>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </build>
+
+
+</project>
\ No newline at end of file
diff --git a/metadatagen-dist/src/main/assembly/assembly.xml b/metadatagen-dist/src/main/assembly/assembly.xml
new file mode 100644
index 0000000..06c755c
--- /dev/null
+++ b/metadatagen-dist/src/main/assembly/assembly.xml
@@ -0,0 +1,74 @@
+<assembly
+ xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+ <id>bin</id>
+ <formats>
+ <format>tar.gz</format>
+ <format>tar.bz2</format>
+ <format>zip</format>
+ </formats>
+
+ <fileSets>
+ <fileSet>
+ <directory>src/main/resources/</directory>
+ <outputDirectory></outputDirectory>
+ </fileSet>
+
+ <!-- The plugin property file -->
+ <fileSet>
+ <directory>../plugin-impl/target/classes/FIXME</directory>
+ <outputDirectory>bootstrap</outputDirectory>
+ <includes>
+ <include>plugin.properties</include>
+ </includes>
+ </fileSet>
+
+ <!-- The implementation jar -->
+ <fileSet>
+ <directory>../plugin-impl/target</directory>
+ <outputDirectory>webapp/WEB-INF/lib</outputDirectory>
+ <includes>
+ <include>plugin-impl-*.jar</include>
+ </includes>
+ <excludes>
+ <exclude>*test*.jar</exclude>
+ <exclude>*javadoc.jar</exclude>
+ <exclude>*sources.jar</exclude>
+ </excludes>
+ </fileSet>
+
+ <!-- The API jar -->
+ <fileSet>
+ <directory>../plugin-api/target</directory>
+ <outputDirectory>webapp/WEB-INF/lib</outputDirectory>
+ <includes>
+ <include>plugin-api-*.jar</include>
+ </includes>
+ <excludes>
+ <exclude>*test*.jar</exclude>
+ <exclude>*javadoc.jar</exclude>
+ <exclude>*sources.jar</exclude>
+ </excludes>
+ </fileSet>
+
+ <!-- The dependencies -->
+ <fileSet>
+ <directory>../plugin-impl/target/dependency</directory>
+ <outputDirectory>webapp/WEB-INF/lib</outputDirectory>
+ <includes>
+ <include>*.jar</include>
+ </includes>
+ </fileSet>
+
+ <!-- The signing certificates -->
+ <fileSet>
+ <directory>src/main/resources/bootstrap</directory>
+ <outputDirectory>bootstrap</outputDirectory>
+ <includes>
+ <include>keys.txt</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+
+</assembly>
diff --git a/metadatagen-dist/src/main/resources/bootstrap/keys.txt b/metadatagen-dist/src/main/resources/bootstrap/keys.txt
new file mode 100644
index 0000000..921c030
--- /dev/null
+++ b/metadatagen-dist/src/main/resources/bootstrap/keys.txt
@@ -0,0 +1 @@
+FIXME: Plugin keys
\ No newline at end of file
diff --git a/metadatagen-impl/pom.xml b/metadatagen-impl/pom.xml
new file mode 100644
index 0000000..cb7a1ca
--- /dev/null
+++ b/metadatagen-impl/pom.xml
@@ -0,0 +1,42 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>net.shibboleth.idp.plugin.metadatagen</groupId>
+ <artifactId>idp-plugin-metadatagen-parent</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>idp-plugin-metadatagen-impl</artifactId>
+ <packaging>jar</packaging>
+ <name>Shibboleth IdP :: Plugins :: metadatagen Impl</name>
+ <description>IdP metadatagen plugin implementation.</description>
+
+ <properties>
+ <checkstyle.configLocation>${project.basedir}/../checkstyle.xml</checkstyle.configLocation>
+ <automatic.module.name>net.shibboleth.idp.plugin.metadatagen.metadatagen.impl</automatic.module.name>
+ </properties>
+
+ <dependencies>
+ <!-- compile time intra project dependencies -->
+ <dependency>
+ <groupId>net.shibboleth.idp.plugin.metadatagen</groupId>
+ <artifactId>idp-plugin-metadatagen-api</artifactId>
+ </dependency>
+ <!-- Service API and Plugin Description dependency -->
+ <dependency>
+ <groupId>${idp.groupId}</groupId>
+ <artifactId>idp-admin-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>${idp.groupId}</groupId>
+ <artifactId>idp-admin-impl</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ </dependencies>
+
+
+</project>
\ No newline at end of file
diff --git a/metadatagen-impl/src/main/java/net/shibboleth/idp/plugin/metadatagen/ExampleModule.java b/metadatagen-impl/src/main/java/net/shibboleth/idp/plugin/metadatagen/ExampleModule.java
new file mode 100644
index 0000000..dfad380
--- /dev/null
+++ b/metadatagen-impl/src/main/java/net/shibboleth/idp/plugin/metadatagen/ExampleModule.java
@@ -0,0 +1,25 @@
+package net.shibboleth.idp.plugin.metadatagen;
+
+import java.io.IOException;
+
+import net.shibboleth.idp.module.ModuleException;
+import net.shibboleth.idp.module.impl.PluginIdPModule;
+
+
+/**
+ * {@link IdPModule IdP Module} implementation.
+ */
+public class ExampleModule extends PluginIdPModule{
+
+ /**
+ * Constructor.
+ *
+ * @throws ModuleException on error
+ * @throws IOException on error
+ */
+ public ExampleModule() throws IOException, ModuleException {
+ super(ExampleModule.class);
+ }
+
+
+}
\ No newline at end of file
diff --git a/metadatagen-impl/src/main/java/net/shibboleth/idp/plugin/metadatagen/ExamplePlugin.java b/metadatagen-impl/src/main/java/net/shibboleth/idp/plugin/metadatagen/ExamplePlugin.java
new file mode 100644
index 0000000..7a224d2
--- /dev/null
+++ b/metadatagen-impl/src/main/java/net/shibboleth/idp/plugin/metadatagen/ExamplePlugin.java
@@ -0,0 +1,27 @@
+package net.shibboleth.idp.plugin.metadatagen;
+
+import java.io.IOException;
+import javax.annotation.Nonnull;
+
+import net.shibboleth.idp.plugin.IdPPlugin;
+import net.shibboleth.idp.plugin.PluginException;
+import net.shibboleth.idp.plugin.PropertyDrivenIdPPlugin;
+
+/**
+ * Plugin description about the webauthn plugin.
+ */
+public class ExamplePlugin extends PropertyDrivenIdPPlugin {
+
+ /**
+ * Constructor.
+ *
+ * @param claz type of plugin
+ *
+ * @throws IOException if properties can't be loaded
+ * @throws PluginException if another error occurs
+ */
+ public ExamplePlugin(@Nonnull final Class<? extends IdPPlugin> claz) throws IOException, PluginException {
+ super(claz);
+ }
+
+}
\ No newline at end of file
diff --git a/metadatagen-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml b/metadatagen-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
new file mode 100644
index 0000000..20278f9
--- /dev/null
+++ b/metadatagen-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
+
+ default-init-method="initialize" default-destroy-method="destroy">
+
+ <!--
+ System beans needed for extension to function, loaded after global.xml.
+ The default template shows an incomplete example authentication flow descriptor which can be
+ removed if not needed
+ -->
+
+ <bean id="authn/metadatagen" parent="shibboleth.AuthenticationFlow"
+ p:order="%{xxx.order:1000}"
+ p:nonBrowserSupported="%{xxx.nonBrowserSupported:true}"
+ p:passiveAuthenticationSupported="%{xxx.passiveAuthenticationSupported:true}"
+ p:forcedAuthenticationSupported="%{xxx.forcedAuthenticationSupported:true}"
+ p:proxyRestrictionsEnforced="%{xxx.proxyRestrictionsEnforced:%{idp.authn.enforceProxyRestrictions:true}}"
+ p:proxyScopingEnforced="%{xxx.proxyScopingEnforced:false}"
+ p:discoveryRequired="%{xxx.discoveryRequired:false}"
+ p:lifetime="%{xxx.lifetime:%{idp.authn.defaultLifetime:PT1H}}"
+ p:inactivityTimeout="%{xxx.inactivityTimeout:%{idp.authn.defaultTimeout:PT30M}}"
+ p:reuseCondition-ref="#{'%{xxx.reuseCondition:shibboleth.Conditions.TRUE}'.trim()}"
+ p:activationCondition-ref="#{'%{xxx.activationCondition:shibboleth.Conditions.TRUE}'.trim()}">
+ <property name="supportedPrincipals">
+ <list>
+ <bean parent="shibboleth.SAML2AuthnContextClassRef"
+ c:classRef="class-ref" />
+ <bean parent="shibboleth.SAML1AuthenticationMethod"
+ c:method="auth-ref" />
+ </list>
+ </property>
+ <property name="supportedPrincipalsByString">
+ <bean parent="shibboleth.CommaDelimStringArray"
+ c:_0="#{'%{xxx.supportedPrincipals:}'.trim()}" />
+ </property>
+ </bean>
+
+</beans>
\ No newline at end of file
diff --git a/metadatagen-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/myplugin/plugin-beans.xml b/metadatagen-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/myplugin/plugin-beans.xml
new file mode 100644
index 0000000..15560b0
--- /dev/null
+++ b/metadatagen-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/myplugin/plugin-beans.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:c="http://www.springframework.org/schema/c"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
+
+ default-init-method="initialize"
+ default-destroy-method="destroy">
+
+ <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
+ p:placeholderPrefix="%{" p:placeholderSuffix="}" />
+
+ <bean class="net.shibboleth.ext.spring.config.IdentifiableBeanPostProcessor" />
+ <bean class="net.shibboleth.idp.profile.impl.ProfileActionBeanPostProcessor" />
+
+
+</beans>
diff --git a/metadatagen-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/myplugin/plugin-flow.xml b/metadatagen-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/myplugin/plugin-flow.xml
new file mode 100644
index 0000000..98e318a
--- /dev/null
+++ b/metadatagen-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/myplugin/plugin-flow.xml
@@ -0,0 +1,7 @@
+<flow xmlns="http://www.springframework.org/schema/webflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow.xsd"
+ parent="authn.abstract, authn/conditions">
+
+
+
+</flow>
diff --git a/metadatagen-impl/src/main/resources/META-INF/services/net.shibboleth.idp.module.IdPModule b/metadatagen-impl/src/main/resources/META-INF/services/net.shibboleth.idp.module.IdPModule
new file mode 100644
index 0000000..6569877
--- /dev/null
+++ b/metadatagen-impl/src/main/resources/META-INF/services/net.shibboleth.idp.module.IdPModule
@@ -0,0 +1 @@
+net.shibboleth.idp.plugin.metadatagen.ExampleModule
diff --git a/metadatagen-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.IdPPlugin b/metadatagen-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.IdPPlugin
new file mode 100644
index 0000000..636972d
--- /dev/null
+++ b/metadatagen-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.IdPPlugin
@@ -0,0 +1,2 @@
+net.shibboleth.idp.plugin.metadatagen.ExamplePlugin
+
\ No newline at end of file
diff --git a/metadatagen-impl/src/main/resources/net/shibboleth/idp/plugin/metadatagen/module.properties b/metadatagen-impl/src/main/resources/net/shibboleth/idp/plugin/metadatagen/module.properties
new file mode 100644
index 0000000..de627cb
--- /dev/null
+++ b/metadatagen-impl/src/main/resources/net/shibboleth/idp/plugin/metadatagen/module.properties
@@ -0,0 +1,14 @@
+# Example Properties defining an authentication module.
+
+# Class to Module ID mappings
+net.shibboleth.idp.plugin.metadatagen.ExampleModule = idp.authn.metadatagen
+
+# Module Owner
+idp.authn.metadatagen.plugin = net.shibboleth.idp.plugin.authn.metadatagen
+
+idp.authn.metadatagen.name = metadatagen Authentication
+idp.authn.metadatagen.desc = Login flow for metadatagen
+idp.authn.metadatagen.url = /metadatagenConfiguration
+idp.authn.metadatagen.1.src = somefile
+idp.authn.metadatagen.1.dest = conf/to-somefile
+idp.authn.metadatagen.1.replace = true
diff --git a/metadatagen-impl/src/main/resources/net/shibboleth/idp/plugin/metadatagen/plugin.properties b/metadatagen-impl/src/main/resources/net/shibboleth/idp/plugin/metadatagen/plugin.properties
new file mode 100644
index 0000000..a966fa9
--- /dev/null
+++ b/metadatagen-impl/src/main/resources/net/shibboleth/idp/plugin/metadatagen/plugin.properties
@@ -0,0 +1,9 @@
+# Example properties defining this plugin
+
+plugin.id = net.shibboleth.idp.plugin.metadatagen.metadatagen
+# Only used when package manifest is not available
+plugin.version = 0.0.1
+plugin.license = licence.txt
+
+# No prereqs
+#plugin.modules.required =
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..5d371c0
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.shibboleth</groupId>
+ <artifactId>parent</artifactId>
+ <version>11.2.0-SNAPSHOT</version>
+ </parent>
+ <groupId>net.shibboleth.idp.plugin.metadatagen</groupId>
+ <artifactId>idp-plugin-metadatagen-parent</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>Shibboleth IdP :: Plugins :: metadatagen</name>
+ <packaging>pom</packaging>
+ <description>metadatagen plugin for the Shibboleth IdP.</description>
+ <properties>
+ <idp.groupId>net.shibboleth.idp</idp.groupId>
+ <idp.version>4.1.0-SNAPSHOT</idp.version>
+ <opensaml.groupId>org.opensaml</opensaml.groupId>
+ <opensaml.version>4.1.0-SNAPSHOT</opensaml.version>
+ <checkstyle.configLocation>${project.basedir}/checkstyle.xml</checkstyle.configLocation>
+ </properties>
+ <distributionManagement>
+ <site>
+ <id>site</id>
+ <url>dav:...</url>
+ </site>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>shib-release</id>
+ <url>https://build.shibboleth.net/nexus/content/groups/public</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>shib-snapshot</id>
+ <url>https://build.shibboleth.net/nexus/content/repositories/snapshots</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
+ </repositories>
+ <scm>
+ <connection>scm:git:...</connection>
+ <developerConnection>scm:git:...</developerConnection>
+ <url>...</url>
+ </scm>
+ <dependencies>
+ <!-- Project wide test Dependencies -->
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>${slf4j.groupId}</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <!-- metadatagen project dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>net.shibboleth.idp.plugin.metadatagen</groupId>
+ <artifactId>idp-plugin-metadatagen-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>net.shibboleth.idp.plugin.metadatagen</groupId>
+ <artifactId>idp-plugin-metadatagen-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!-- Shibboleth IdP BOM for importing IdP dependencies -->
+ <dependency>
+ <groupId>net.shibboleth.idp</groupId>
+ <artifactId>idp-bom</artifactId>
+ <version>${idp.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <!-- Provided shibboleth support dependencies -->
+ <dependency>
+ <groupId>net.shibboleth.utilities</groupId>
+ <artifactId>java-support</artifactId>
+ <version>${java-support.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- Test bom dependencies -->
+ <dependency>
+ <groupId>${idp.groupId}</groupId>
+ <artifactId>idp-tests-bom</artifactId>
+ <version>${idp.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+ <modules>
+ <module>metadatagen-impl</module>
+ <module>metadatagen-api</module>
+<!-- All DIST modules must come after the -api and -impl modules -->
+ <module>metadatagen-dist</module>
+ </modules>
+</project>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list