diff options
19 files changed, 670 insertions, 586 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0d68b89a..1eb2aee6e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,21 +1,21 @@ -image: maven:latest +image: maven:3.6.3-jdk-11 variables: LC_ALL: "en_US.UTF-8" LANG: "en_US.UTF-8" LANGUAGE: "en_US" - LIB_NAME: "MOA-ID" + LIB_NAME: "moa-id" MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true --settings ${CI_PROJECT_DIR}/.cisettings.xml" MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=${CI_PROJECT_DIR}/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" GIT_SUBMODULE_STRATEGY: recursive GIT_DEPTH: "2" SECURE_LOG_LEVEL: "debug" + JACOCO_CSV_LOCATION: '${CI_PROJECT_DIR}/assembly/target/site/jacoco-aggregate-ut/jacoco.csv' + JACOCO_XML_LOCATION: '${CI_PROJECT_DIR}/assembly/target/site/jacoco-aggregate-ut/jacoco.xml' include: - template: Dependency-Scanning.gitlab-ci.yml - - template: Security/SAST.gitlab-ci.yml - template: Secret-Detection.gitlab-ci.yml - - template: Code-Quality.gitlab-ci.yml stages: - assemble @@ -31,23 +31,35 @@ assemble: stage: assemble except: - tags + tags: + - docker script: | mvn $MAVEN_CLI_OPTS compile test + coverage: '/([0-9]{1,3}.[0-9]*).%.covered/' + after_script: + - awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, " instructions covered"; print 100*covered/instructions, "% covered" }' $JACOCO_CSV_LOCATION artifacts: when: always reports: junit: "**/target/surefire-reports/TEST-*.xml" - + paths: + - $JACOCO_CSV_LOCATION + - $JACOCO_XML_LOCATION + + publishToGitlab: stage: package + tags: + - docker except: - tags + - /^feature/.*$/i before_script: - mkdir -p ~/.ssh - ssh-keyscan apps.egiz.gv.at >> ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts script: | - export VERSION=$(mvn -B help:evaluate -Dexpression=project.version -B | grep -v "\[INFO\]" | grep -Po "\d+\.\d+\.\d+((-\w*)+)?") + export VERSION=$(mvn -B help:evaluate -Dexpression=project.version -B | grep -v "\[WARNING\]" | grep -v "\[INFO\]" | grep -Po "\d+\.\d+\.\d+((-\w*)+)?") echo "Publishing version $VERSION for $LIB_NAME to public EGIZ maven" mvn $MAVEN_CLI_OPTS deploy -s .cisettings.xml -P jenkinsDeploy -DskipTests echo "VERSION=$VERSION" >> variables.env @@ -59,20 +71,18 @@ publishToGitlab: release: stage: release image: registry.gitlab.com/gitlab-org/release-cli:latest + tags: + - docker needs: - job: publishToGitlab artifacts: true when: manual only: - master - before_script: - - mkdir -p ~/.ssh - - ssh-keyscan apps.egiz.gv.at >> ~/.ssh/known_hosts - - chmod 644 ~/.ssh/known_hosts script: | echo "Releasing version $VERSION of $LIB_NAME" echo "Publishing version $VERSION to public EGIZ maven" - mvn $MAVEN_CLI_OPTS deploy -s .cisettings.xml -P jenkinsDeploy + mvn $MAVEN_CLI_OPTS deploy -s .cisettings.xml release: name: "$VERSION" tag_name: "v$VERSION" diff --git a/README.md b/README.md new file mode 100644 index 000000000..d3da33677 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# MOA-ID / MOA E-ID Proxy + +## Description + +MOA-ID is an identity-provider that supports identification, authentication, and mandate processing by using different authentication methods. The MOA-ID project consists for four Sub-Projects + +- **moa-id-auth-final** is the production build of the MOA-ID IDP that can be used for production environments. +- **moa-id-auth-edu** is the IDP for education usage that includes additional sub-modules and functionality that is not part of the production build. +- **moa-id-configuration** is the configuration interface for MOA-ID IDP +- **moa-id-oa** is a simple SAML2 service-provider application for testing only + +### Building + +The application is build into a Web-application and into a set of jars that can be directly used in another application. The Web application has to be deployed into an application service, like Apache Tomcat + +The project can be build with : + +``` +mvn clean package +``` + +The resulting `war` file's can be deployed into an application server + + + +The configuration will be set by Java System-Properties: + +- MOA-ID-AUTH + - _**-Dmoa.id.configuration**_ to set the configuration for MOA-ID itself + - _**-Dmoa.spss.server.configuration**=/path/to/configuration..._ to set the configuration for the MOA-SPSS sub-module +- MOA-ID-Configuration + - _**-Dmoa.id.webconfig**_ to set the configuration for MOA-ID-Configuration itself + - _**-Duser.properties**=/path/to/configuration..._ to set the configuration file base user-database +- MOA-ID-OA + - _**-Dmoa.id.demoOA**_ to set the configuration for MOA-ID-OA itself + +### Configuration + +A default configurations for MOA-ID and MOA-SPSS is located at _/id/server/data/deploy/conf/_ + + + +## Generate a Release Package + +The full release packages for will be automatically assembled by maven build-process. Before release build, all release related information have to added into infos folder. To add release informations follow the steps outlined below. + +Add a file with release informations to: +``` +./id/readme_{version}.txt +``` + +Add, remove, or update the application description in the handbook + +``` +modify: ./id/history.txt +``` +``` +modify: ./id/server/doc/handbook/ +``` + +Generate a release package with: + + +``` +maven package +``` + +The full release package will be located add +``` +./target/* +``` + +where + +- _moa-id-4.1.6-SNAPSHOT-dist.zip_ is the production build that has to be published on JoinUp +- _moa-id-4.1.6-SNAPSHOT-dist-edu.zip_ is the eduction build for internal usage only + + + +## Changelog + +**v4.1.6** + +- diff --git a/assembly/pom.xml b/assembly/pom.xml new file mode 100644 index 000000000..7a4d88ad3 --- /dev/null +++ b/assembly/pom.xml @@ -0,0 +1,164 @@ +<!-- ass<?xml version="1.0" encoding="UTF-8"?> --> +<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/maven-v4_0_0.xsd"> + <parent> + <groupId>MOA</groupId> + <artifactId>MOA</artifactId> + <version>4.1.6-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>id-assembly</artifactId> + <packaging>pom</packaging> + <name>MOA-ID Release Assembly</name> + + + <build> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + </resources> + + <plugins> + + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <executions> + <!-- aggregated unit test coverage report --> + <execution> + <id>aggregate-reports-ut</id> + <phase>test</phase> + <goals> + <goal>report-aggregate</goal> + </goals> + <configuration> + <title>Maven Multimodule Coverage Demo: Coverage of Unit Tests</title> + <outputDirectory>${project.reporting.outputDirectory}/jacoco-aggregate-ut</outputDirectory> + <dataFileExcludes> + <!-- exclude coverage data of integration tests --> + <dataFileExclude>**/target/jacoco-it.exec</dataFileExclude> + </dataFileExcludes> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <descriptors> + <descriptor>src/main/resources/assembly_auth_final_v2.xml</descriptor> + <descriptor>src/main/resources/assembly_auth_edu_v2.xml</descriptor> + </descriptors> + <finalName>moa-id-${project.version}</finalName> + <outputDirectory>${project.parent.build.directory}</outputDirectory> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>MOA.id</groupId> + <artifactId>moa-id-configuration</artifactId> + <version>${configtool-version}</version> + <type>war</type> + </dependency> + <dependency> + <groupId>MOA.id</groupId> + <artifactId>moa-id-oa</artifactId> + <version>${demo-oa-version}</version> + <type>war</type> + </dependency> + <dependency> + <groupId>MOA.id.server</groupId> + <artifactId>moa-id-auth-final</artifactId> + <version>${moa-id-version-final}</version> + <type>war</type> + </dependency> + <dependency> + <groupId>MOA.id.server</groupId> + <artifactId>moa-id-auth-edu</artifactId> + <version>${moa-id-version-edu}</version> + <type>war</type> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-monitoring</artifactId> + </dependency> + + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-saml1</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-openID</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-elga_mandate_service</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-modul-citizencard_authentication</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-modules-federated_authentication</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-ssoTransfer</artifactId> + <version>${moa-id-version}</version> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-bkaMobilaAuthSAML2Test</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-sl20_authentication</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-AT_eIDAS_connector</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id.server.modules</groupId> + <artifactId>moa-id-module-EID_connector</artifactId> + </dependency> + + <dependency> + <groupId>MOA.id</groupId> + <artifactId>moa-id-webgui</artifactId> + <version>1.0</version> + </dependency> + + </dependencies> + +</project> diff --git a/assembly/src/main/resources/assembly_auth_edu_v2.xml b/assembly/src/main/resources/assembly_auth_edu_v2.xml new file mode 100644 index 000000000..36ced7e3d --- /dev/null +++ b/assembly/src/main/resources/assembly_auth_edu_v2.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"> + <id>dist-edu</id> + <formats> + <format>zip</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <baseDirectory>moa-id-auth-edu-${moa-id-version}</baseDirectory> + + <fileSets> + <!-- Applications --> + <fileSet> + <directory>${project.parent.basedir}/id/ConfigWebTool/target/</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>*.war</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/oa/target</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>*.war</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/auth-edu/target</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>*.war</include> + </includes> + </fileSet> + + <!-- Configuration, Licence, and Handbook --> + <fileSet> + <directory>${project.parent.basedir}/id/</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>readme_${project.version}.txt</include> + <include>history.txt</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>EUPL v.1.1 - Licence.pdf</include> + <include>IAIK-LICENSE.txt</include> + <include>LICENSE-2.0.txt</include> + <include>NOTICE.txt</include> + <include>SIC_LICENSE.txt</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/data/deploy/conf/</directory> + <outputDirectory>./conf</outputDirectory> + <excludes> + <exclude>Catalina/**</exclude> + <exclude>moa-id-proxy/**</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/data/deploy/conf/</directory> + <outputDirectory>./doc/conf</outputDirectory> + <excludes> + <exclude>Catalina/**</exclude> + <exclude>moa-id-proxy/**</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/doc/handbook/</directory> + <outputDirectory>./doc/handbook</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/data/deploy/tomcat/</directory> + <outputDirectory>./tomcat</outputDirectory> + </fileSet> + + <!-- Dependencies --> + <fileSet> + <directory>${project.basedir}/src/main/resources/data/pkcs11/</directory> + <outputDirectory>./pkcs11</outputDirectory> + </fileSet> + + <fileSet> + <directory>${project.basedir}/src/main/resources/data/endorsed/</directory> + <outputDirectory>./endorsed</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/auth-edu/target/moa-id-auth-edu-${moa-id-version}/WEB-INF/lib/</directory> + <outputDirectory>./endorsed</outputDirectory> + <includes> + <include>serializer*.jar</include> + <include>xalan*.jar</include> + <include>xercesImpl*.jar</include> + </includes> + </fileSet> + + <fileSet> + <directory>${project.basedir}/src/main/resources/data/ext/</directory> + <outputDirectory>./ext</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/auth-edu/target/moa-id-auth-edu-${moa-id-version}/WEB-INF/lib/</directory> + <outputDirectory>./ext</outputDirectory> + <includes> + <include>iaik_jce_full*.jar</include> + </includes> + </fileSet> + + </fileSets> + + + +</assembly> diff --git a/assembly/src/main/resources/assembly_auth_final_v2.xml b/assembly/src/main/resources/assembly_auth_final_v2.xml new file mode 100644 index 000000000..9e07a45ae --- /dev/null +++ b/assembly/src/main/resources/assembly_auth_final_v2.xml @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"> + <id>dist</id> + <formats> + <format>zip</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <baseDirectory>moa-id-auth-final-${moa-id-version}</baseDirectory> + + <fileSets> + <!-- Applications --> + <fileSet> + <directory>${project.parent.basedir}/id/ConfigWebTool/target/</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>*.war</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/oa/target</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>*.war</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/auth-final/target</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>*.war</include> + </includes> + </fileSet> + + <!-- Configuration, Licence, and Handbook --> + <fileSet> + <directory>${project.parent.basedir}/id/</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>readme_${project.version}.txt</include> + <include>history.txt</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/</directory> + <outputDirectory>./</outputDirectory> + <includes> + <include>EUPL v.1.1 - Licence.pdf</include> + <include>IAIK-LICENSE.txt</include> + <include>LICENSE-2.0.txt</include> + <include>NOTICE.txt</include> + <include>SIC_LICENSE.txt</include> + </includes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/data/deploy/conf/</directory> + <outputDirectory>./conf</outputDirectory> + <excludes> + <exclude>Catalina/**</exclude> + <exclude>moa-id-proxy/**</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/data/deploy/conf/</directory> + <outputDirectory>./doc/conf</outputDirectory> + <excludes> + <exclude>Catalina/**</exclude> + <exclude>moa-id-proxy/**</exclude> + </excludes> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/doc/handbook/</directory> + <outputDirectory>./doc/handbook</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/data/deploy/tomcat/</directory> + <outputDirectory>./tomcat</outputDirectory> + </fileSet> + + <!-- Dependencies --> + <fileSet> + <directory>${project.basedir}/src/main/resources/data/pkcs11/</directory> + <outputDirectory>./pkcs11</outputDirectory> + </fileSet> + + <fileSet> + <directory>${project.basedir}/src/main/resources/data/endorsed/</directory> + <outputDirectory>./endorsed</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/auth-final/target/moa-id-auth-final-${moa-id-version}/WEB-INF/lib/</directory> + <outputDirectory>./endorsed</outputDirectory> + <includes> + <include>serializer*.jar</include> + <include>xalan*.jar</include> + <include>xercesImpl*.jar</include> + </includes> + </fileSet> + + <fileSet> + <directory>${project.basedir}/src/main/resources/data/ext/</directory> + <outputDirectory>./ext</outputDirectory> + </fileSet> + <fileSet> + <directory>${project.parent.basedir}/id/server/auth-final/target/moa-id-auth-final-${moa-id-version}/WEB-INF/lib/</directory> + <outputDirectory>./ext</outputDirectory> + <includes> + <include>iaik_jce_full*.jar</include> + </includes> + </fileSet> + + </fileSets> + + + +</assembly> diff --git a/assembly/src/main/resources/data/endorsed/xml-api-iaik-1.1.jar b/assembly/src/main/resources/data/endorsed/xml-api-iaik-1.1.jar Binary files differnew file mode 100644 index 000000000..817684fb7 --- /dev/null +++ b/assembly/src/main/resources/data/endorsed/xml-api-iaik-1.1.jar diff --git a/assembly/src/main/resources/data/ext/iaik_Pkcs11Provider.jar b/assembly/src/main/resources/data/ext/iaik_Pkcs11Provider.jar Binary files differnew file mode 100644 index 000000000..a348db04e --- /dev/null +++ b/assembly/src/main/resources/data/ext/iaik_Pkcs11Provider.jar diff --git a/assembly/src/main/resources/data/ext/iaik_Pkcs11Wrapper.jar b/assembly/src/main/resources/data/ext/iaik_Pkcs11Wrapper.jar Binary files differnew file mode 100644 index 000000000..940c1824d --- /dev/null +++ b/assembly/src/main/resources/data/ext/iaik_Pkcs11Wrapper.jar diff --git a/assembly/src/main/resources/data/pkcs11/linux/libpkcs11wrapper.so b/assembly/src/main/resources/data/pkcs11/linux/libpkcs11wrapper.so Binary files differnew file mode 100644 index 000000000..eacbb13b2 --- /dev/null +++ b/assembly/src/main/resources/data/pkcs11/linux/libpkcs11wrapper.so diff --git a/assembly/src/main/resources/data/pkcs11/solaris_sparc/libpkcs11wrapper.so b/assembly/src/main/resources/data/pkcs11/solaris_sparc/libpkcs11wrapper.so Binary files differnew file mode 100644 index 000000000..c5f7d595f --- /dev/null +++ b/assembly/src/main/resources/data/pkcs11/solaris_sparc/libpkcs11wrapper.so diff --git a/assembly/src/main/resources/data/pkcs11/solaris_sparcv9/libpkcs11wrapper.so b/assembly/src/main/resources/data/pkcs11/solaris_sparcv9/libpkcs11wrapper.so Binary files differnew file mode 100644 index 000000000..1f58fe949 --- /dev/null +++ b/assembly/src/main/resources/data/pkcs11/solaris_sparcv9/libpkcs11wrapper.so diff --git a/assembly/src/main/resources/data/pkcs11/win32/pkcs11wrapper.dll b/assembly/src/main/resources/data/pkcs11/win32/pkcs11wrapper.dll Binary files differnew file mode 100644 index 000000000..c1ee108b8 --- /dev/null +++ b/assembly/src/main/resources/data/pkcs11/win32/pkcs11wrapper.dll diff --git a/assembly/src/main/resources/data/pkcs11/win64/pkcs11wrapper.dll b/assembly/src/main/resources/data/pkcs11/win64/pkcs11wrapper.dll Binary files differnew file mode 100644 index 000000000..651a0e5cb --- /dev/null +++ b/assembly/src/main/resources/data/pkcs11/win64/pkcs11wrapper.dll diff --git a/id/ConfigWebTool/pom.xml b/id/ConfigWebTool/pom.xml index b6c82328b..63db8f8db 100644 --- a/id/ConfigWebTool/pom.xml +++ b/id/ConfigWebTool/pom.xml @@ -227,7 +227,10 @@ </dependency> </dependencies> - <build> + <packaging>war</packaging> + <build> + <finalName>moa-id-configuration</finalName> + <plugins> <!-- <plugin> @@ -272,7 +275,5 @@ </plugin> </plugins> - </build> - - <packaging>war</packaging> + </build> </project> diff --git a/id/assembly-auth-edu.xml b/id/assembly-auth-edu.xml deleted file mode 100644 index c11f790e4..000000000 --- a/id/assembly-auth-edu.xml +++ /dev/null @@ -1,191 +0,0 @@ -<assembly> - <id>id-auth-edu-${moa-id-version}</id> - - <formats> - <format>dir</format> - <format>zip</format> - <!-- <format>tar.gz</format> --> - </formats> - - <baseDirectory>moa-id-auth-edu-${moa-id-version}</baseDirectory> - - <fileSets> - <fileSet> - <directory>${basedir}/id/server/data/deploy</directory> - <outputDirectory>/</outputDirectory> - <excludes> - <exclude>**/conf/Catalina/**</exclude> - <exclude>${basedir}/id/server/data/deploy/conf/moa-id-proxy/**</exclude> - </excludes> - </fileSet> - <fileSet> - <directory>${basedir}/spss/handbook/conf/moa-spss/certstore</directory> - <outputDirectory>/conf/moa-id/certs/certstore</outputDirectory> - <includes> - <include>**/*</include> - </includes> - </fileSet> - <fileSet> - <directory>${basedir}/spss/handbook/conf/moa-spss/certstore</directory> - <outputDirectory>/conf/moa-spss/certstore</outputDirectory> - <includes> - <include>**/*</include> - </includes> - </fileSet> - <fileSet> - <directory>${basedir}/id/server/doc</directory> - <outputDirectory>/doc</outputDirectory> - <excludes> - <exclude>${basedir}/id/server/doc/proxy/**</exclude> - </excludes> - </fileSet> - <fileSet> - <directory>${basedir}/id/server/data/deploy/conf</directory> - <outputDirectory>/doc/conf</outputDirectory> - <excludes> - <exclude>${basedir}/id/server/data/deploy/conf/moa-id-proxy/**</exclude> - </excludes> - </fileSet> - <fileSet> - <directory>${basedir}/id</directory> - <outputDirectory>/</outputDirectory> - <includes> - <include>history.txt</include> - <include>readme_${moa-id-version}.txt</include> - </includes> - </fileSet> - <fileSet> - <directory>${basedir}</directory> - <outputDirectory>/</outputDirectory> - <includes> - <include>LICENSE-2.0.txt</include> - <include>NOTICE.txt</include> - <include>IAIK-LICENSE.txt</include> - <include>EUPL v.1.1 - Licence.pdf</include> - <include>SIC_LICENSE.txt</include> - </includes> - </fileSet> - </fileSets> - - <moduleSets> - <moduleSet> - <includes> - <include>MOA.id.server:moa-id-auth-edu</include> - </includes> - <binaries> - <includeDependencies>true</includeDependencies> - <outputDirectory>/</outputDirectory> - <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> - <dependencySets> - <dependencySet> - <includes> - <include>xalan-bin-dist:xalan</include> - <include>xerces:xercesImpl</include> - <include>xalan-bin-dist:xml-apis</include> - <include>xalan-bin-dist:serializer</include> - </includes> - <outputDirectory>/endorsed</outputDirectory> - <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> - </dependencySet> - <dependencySet> - <includes> - <include>iaik.prod:iaik_ecc</include> - <include>iaik.prod:iaik_jce_full</include> - <include>iaik.prod:iaik_Pkcs11Provider</include> - <include>iaik.prod:iaik_Pkcs11Wrapper:jar</include> - </includes> - <outputDirectory>/ext</outputDirectory> - <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> - </dependencySet> - </dependencySets> - <unpack>false</unpack> - </binaries> - </moduleSet> - - <moduleSet> - <includes> - <include>MOA.id.server:moa-id-lib</include> - </includes> - <binaries> - <attachmentClassifier>javadoc</attachmentClassifier> - <includeDependencies>false</includeDependencies> - <outputFileNameMapping>api-doc</outputFileNameMapping> - <outputDirectory>/doc</outputDirectory> - <unpack>true</unpack> - </binaries> - </moduleSet> - - <moduleSet> - <includes> - <include>MOA.id:moa-id-configuration</include> - </includes> - <binaries> - <includeDependencies>false</includeDependencies> - <outputDirectory>/</outputDirectory> - <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> - <unpack>false</unpack> - </binaries> - </moduleSet> - - <moduleSet> - <includes> - <include>MOA.id.server:moa-id-commons</include> - </includes> - <binaries> - <includeDependencies>false</includeDependencies> - <outputDirectory>/migration/</outputDirectory> - <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> - <unpack>false</unpack> - <dependencySets> - <dependencySet> - <outputDirectory>/migration/dependency-jars</outputDirectory> - <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> - </dependencySet> - </dependencySets> - </binaries> - </moduleSet> - - <moduleSet> - <includes> - <include>MOA.id:moa-id-oa</include> - </includes> - <sources> - <useDefaultExcludes>true</useDefaultExcludes> - <outputDirectory>../</outputDirectory> - <includeModuleDirectory>true</includeModuleDirectory> - <outputDirectoryMapping>/source/${artifactId}/src</outputDirectoryMapping> - <excludes> - <exclude>**/target/**</exclude> - <exclude>**/bin/**</exclude> - <exclude>**/.settings/**</exclude> - <exclude>.*</exclude> - </excludes> - <includes> - <include>pom.xml</include> - </includes> - </sources> - <binaries> - <includeDependencies>false</includeDependencies> - <outputDirectory>/</outputDirectory> - <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> - <unpack>false</unpack> - <dependencySets> - <dependencySet> - <includes> - <include>iaik:commons-iaik</include> - <include>MOA:moa-common</include> - </includes> - <outputDirectory>/source/repositority</outputDirectory> - <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping> - </dependencySet> - </dependencySets> - </binaries> - </moduleSet> - - </moduleSets> - - <componentDescriptors> - <componentDescriptor>component-pkcs11libs.xml</componentDescriptor> - </componentDescriptors> - -</assembly> diff --git a/id/assembly-auth-final.xml b/id/assembly-auth-final.xml deleted file mode 100644 index 504f5620a..000000000 --- a/id/assembly-auth-final.xml +++ /dev/null @@ -1,191 +0,0 @@ -<assembly>
- <id>id-auth-final-${moa-id-version}</id>
-
- <formats>
- <format>dir</format>
- <format>zip</format>
- <!-- <format>tar.gz</format> -->
- </formats>
-
- <baseDirectory>moa-id-auth-final-${moa-id-version}</baseDirectory>
-
- <fileSets>
- <fileSet>
- <directory>${basedir}/id/server/data/deploy</directory>
- <outputDirectory>/</outputDirectory>
- <excludes>
- <exclude>**/conf/Catalina/**</exclude>
- <exclude>${basedir}/id/server/data/deploy/conf/moa-id-proxy/**</exclude>
- </excludes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/spss/handbook/conf/moa-spss/certstore</directory>
- <outputDirectory>/conf/moa-id/certs/certstore</outputDirectory>
- <includes>
- <include>**/*</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/spss/handbook/conf/moa-spss/certstore</directory>
- <outputDirectory>/conf/moa-spss/certstore</outputDirectory>
- <includes>
- <include>**/*</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/id/server/doc</directory>
- <outputDirectory>/doc</outputDirectory>
- <excludes>
- <exclude>${basedir}/id/server/doc/proxy/**</exclude>
- </excludes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/id/server/data/deploy/conf</directory>
- <outputDirectory>/doc/conf</outputDirectory>
- <excludes>
- <exclude>${basedir}/id/server/data/deploy/conf/moa-id-proxy/**</exclude>
- </excludes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/id</directory>
- <outputDirectory>/</outputDirectory>
- <includes>
- <include>history.txt</include>
- <include>readme_${moa-id-version}.txt</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}</directory>
- <outputDirectory>/</outputDirectory>
- <includes>
- <include>LICENSE-2.0.txt</include>
- <include>NOTICE.txt</include>
- <include>IAIK-LICENSE.txt</include>
- <include>EUPL v.1.1 - Licence.pdf</include>
- <include>SIC_LICENSE.txt</include>
- </includes>
- </fileSet>
- </fileSets>
-
- <moduleSets>
- <moduleSet>
- <includes>
- <include>MOA.id.server:moa-id-auth-final</include>
- </includes>
- <binaries>
- <includeDependencies>true</includeDependencies>
- <outputDirectory>/</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- <dependencySets>
- <dependencySet>
- <includes>
- <include>xalan-bin-dist:xalan</include>
- <include>xerces:xercesImpl</include>
- <include>xalan-bin-dist:xml-apis</include>
- <include>xalan-bin-dist:serializer</include>
- </includes>
- <outputDirectory>/endorsed</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- </dependencySet>
- <dependencySet>
- <includes>
- <include>iaik.prod:iaik_ecc</include>
- <include>iaik.prod:iaik_jce_full</include>
- <include>iaik.prod:iaik_Pkcs11Provider</include>
- <include>iaik.prod:iaik_Pkcs11Wrapper:jar</include>
- </includes>
- <outputDirectory>/ext</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- </dependencySet>
- </dependencySets>
- <unpack>false</unpack>
- </binaries>
- </moduleSet>
-
- <moduleSet>
- <includes>
- <include>MOA.id.server:moa-id-lib</include>
- </includes>
- <binaries>
- <attachmentClassifier>javadoc</attachmentClassifier>
- <includeDependencies>false</includeDependencies>
- <outputFileNameMapping>api-doc</outputFileNameMapping>
- <outputDirectory>/doc</outputDirectory>
- <unpack>true</unpack>
- </binaries>
- </moduleSet>
-
- <moduleSet>
- <includes>
- <include>MOA.id:moa-id-configuration</include>
- </includes>
- <binaries>
- <includeDependencies>false</includeDependencies>
- <outputDirectory>/</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- <unpack>false</unpack>
- </binaries>
- </moduleSet>
-
- <moduleSet>
- <includes>
- <include>MOA.id.server:moa-id-commons</include>
- </includes>
- <binaries>
- <includeDependencies>false</includeDependencies>
- <outputDirectory>/migration/</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- <unpack>false</unpack>
- <dependencySets>
- <dependencySet>
- <outputDirectory>/migration/dependency-jars</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- </dependencySet>
- </dependencySets>
- </binaries>
- </moduleSet>
-
- <moduleSet>
- <includes>
- <include>MOA.id:moa-id-oa</include>
- </includes>
- <sources>
- <useDefaultExcludes>true</useDefaultExcludes>
- <outputDirectory>../</outputDirectory>
- <includeModuleDirectory>true</includeModuleDirectory>
- <outputDirectoryMapping>/source/${artifactId}/src</outputDirectoryMapping>
- <excludes>
- <exclude>**/target/**</exclude>
- <exclude>**/bin/**</exclude>
- <exclude>**/.settings/**</exclude>
- <exclude>.*</exclude>
- </excludes>
- <includes>
- <include>pom.xml</include>
- </includes>
- </sources>
- <binaries>
- <includeDependencies>false</includeDependencies>
- <outputDirectory>/</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- <unpack>false</unpack>
- <dependencySets>
- <dependencySet>
- <includes>
- <include>iaik:commons-iaik</include>
- <include>MOA:moa-common</include>
- </includes>
- <outputDirectory>/source/repositority</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- </dependencySet>
- </dependencySets>
- </binaries>
- </moduleSet>
-
- </moduleSets>
-
- <componentDescriptors>
- <componentDescriptor>component-pkcs11libs.xml</componentDescriptor>
- </componentDescriptors>
-
-</assembly>
diff --git a/id/assembly-proxy.xml b/id/assembly-proxy.xml deleted file mode 100644 index d43783e69..000000000 --- a/id/assembly-proxy.xml +++ /dev/null @@ -1,120 +0,0 @@ -<assembly>
- <id>id-proxy-${moa-id-proxy-version}</id>
-
- <formats>
- <format>dir</format>
- <format>zip</format>
- <!-- <format>tar.gz</format> -->
- </formats>
-
- <baseDirectory>moa-id-proxy-${moa-id-proxy-version}</baseDirectory>
-
- <fileSets>
- <fileSet>
- <directory>${basedir}/id/server/data/deploy</directory>
- <outputDirectory>/</outputDirectory>
- <excludes>
- <exclude>**/conf/moa-spss/**</exclude>
- <exclude>**/conf/moa-id/transforms/**</exclude>
- </excludes>
- </fileSet>
- <fileSet>
- <directory>${basedir}/id/server/doc/proxy</directory>
- <outputDirectory>/doc</outputDirectory>
- </fileSet>
- <fileSet>
- <directory>${basedir}/id</directory>
- <outputDirectory>/</outputDirectory>
- <includes>
- <include>history.txt</include>
- <include>readme_${moa-id-proxy-version}.txt</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>${basedir}</directory>
- <outputDirectory>/</outputDirectory>
- <includes>
- <include>LICENSE-2.0.txt</include>
- <include>NOTICE.txt</include>
- <include>IAIK-LICENSE.txt</include>
- <include>EUPL v.1.1 - Licence.pdf</include>
- <include>SIC_LICENSE.txt</include>
- </includes>
- </fileSet>
- </fileSets>
-
- <moduleSets>
- <moduleSet>
- <includes>
- <include>MOA.id.server:moa-id-proxy</include>
- </includes>
- <binaries>
- <includeDependencies>true</includeDependencies>
- <outputDirectory>/</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- <dependencySets>
- <dependencySet>
- <includes>
- <include>xalan-bin-dist:xalan</include>
- <include>xerces:xercesImpl</include>
- <include>xalan-bin-dist:xml-apis</include>
- <include>xalan-bin-dist:serializer</include>
- </includes>
- <outputDirectory>/endorsed</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- </dependencySet>
- <dependencySet>
- <includes>
- <include>iaik.prod:iaik_ecc</include>
- <include>iaik.prod:iaik_jce_full</include>
- <include>iaik.prod:iaik_Pkcs11Provider</include>
- <include>iaik.prod:iaik_Pkcs11Wrapper:jar</include>
- </includes>
- <outputDirectory>/ext</outputDirectory>
- <outputFileNameMapping>${artifactId}.${extension}</outputFileNameMapping>
- </dependencySet>
- </dependencySets>
- <unpack>false</unpack>
- </binaries>
- </moduleSet>
-<!-- <moduleSet>
- <includes>
- <include>MOA:moa-id-oa</include>
- </includes>
- <binaries>
- <includeDependencies>true</includeDependencies>
- <outputDirectory>/</outputDirectory>
- <outputFileNameMapping>oa.${extension}</outputFileNameMapping>
- <unpack>false</unpack>
- </binaries>
- </moduleSet> -->
- <moduleSet>
- <includes>
- <include>MOA.id.server:moa-id-lib</include>
- </includes>
- <binaries>
- <attachmentClassifier>javadoc</attachmentClassifier>
- <includeDependencies>false</includeDependencies>
- <outputFileNameMapping>api-doc</outputFileNameMapping>
- <outputDirectory>/doc</outputDirectory>
- <unpack>true</unpack>
- </binaries>
- </moduleSet>
- <!-- <moduleSet>
- <includes>
- <include>MOA.id:moa-id-templates</include>
- </includes>
- <binaries>
- <includeDependencies>false</includeDependencies>
- <outputFileNameMapping>moaid-templates.war</outputFileNameMapping>
- <outputDirectory>/templates</outputDirectory>
- <unpack>false</unpack>
- </binaries>
- </moduleSet>-->
- </moduleSets>
-
- <componentDescriptors>
- <componentDescriptor>component-pkcs11libs.xml</componentDescriptor>
- </componentDescriptors>
-
-</assembly>
diff --git a/id/oa/pom.xml b/id/oa/pom.xml index b4e8b9858..2897de96b 100644 --- a/id/oa/pom.xml +++ b/id/oa/pom.xml @@ -19,7 +19,7 @@ </properties> <build> - <finalName>oa</finalName> + <finalName>moa-id-oa</finalName> <plugins> <!-- <plugin> <groupId>org.codehaus.mojo</groupId> @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="UTF-8"?><!-- ass<?xml version="1.0" encoding="UTF-8"?> --> <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/maven-v4_0_0.xsd"> @@ -74,8 +74,24 @@ <apache-cli-version>1.4</apache-cli-version> <spring-orm-version>${org.springframework.version}</spring-orm-version> + + <org.projectlombok.lombok.version>1.18.16</org.projectlombok.lombok.version> + + <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version> + <maven-checkstyle-plugin.version>3.1.1</maven-checkstyle-plugin.version> + <maven-pmd-plugin.version>3.14.0</maven-pmd-plugin.version> + <spotbugs-maven-plugin.version>4.1.4</spotbugs-maven-plugin.version> + <findsecbugs-plugin.version>1.11.0</findsecbugs-plugin.version> + + <pmw_rules_location>https://apps.egiz.gv.at/checkstyle/egiz_pmd_checks.xml</pmw_rules_location> + </properties> + <modules> + <module>id</module> + <module>assembly</module> + </modules> + <profiles> <profile> <id>default</id> @@ -85,58 +101,40 @@ <name>default</name> </property> </activation> - <modules> - <module>id</module> - </modules> - <repositories> - <repository> - <id>moaid_local</id> - <name>local</name> - <url>file:${basedir}/../../../repository</url> - </repository> - <repository> - <id>shibboleth.internet2.edu</id> - <name>Internet2</name> - <url>https://build.shibboleth.net/nexus/content/groups/public/</url> - </repository> - <repository> - <id>jboss</id> - <url>https://repository.jboss.org/nexus/content/repositories/central/</url> - <releases> - <enabled>true</enabled> - </releases> - </repository> - <repository> - <id>egiz-commons</id> - <url>https://apps.egiz.gv.at/maven/</url> - <releases> - <enabled>true</enabled> - </releases> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - <repository> - <id>egiz-commons-snapshot</id> - <url>https://apps.egiz.gv.at/maven-snapshot/</url> - <releases> - <enabled>false</enabled> - </releases> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> + </profile> + <profile> + <id>jenkinsDeploy</id> + <distributionManagement> <repository> - <id>MOA_web</id> - <name>MOA Dependencies weblocation</name> - <releases> - <enabled>true</enabled> - <checksumPolicy>ignore</checksumPolicy> - </releases> - <layout>default</layout> - <url>https://git.egiz.gv.at/EAAF-Components/plain/eaaf_modules/eaaf_module_moa-sig/repository</url> + <id>egizMaven</id> + <url>sftp://apps.egiz.gv.at/maven</url> </repository> - </repositories> + <snapshotRepository> + <id>egizMaven</id> + <url>sftp://apps.egiz.gv.at/maven-snapshot</url> + </snapshotRepository> + </distributionManagement> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-deploy-plugin</artifactId> + <version>2.8.2</version> + <configuration> + <deployAtEnd>true</deployAtEnd> + </configuration> + <executions> + <execution> + <id>default-deploy</id> + <phase>deploy</phase> + <goals> + <goal>deploy</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> </profile> </profiles> @@ -147,6 +145,14 @@ </resource> </resources> + <extensions> + <extension> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-ssh</artifactId> + <version>3.4.3</version> + </extension> + </extensions> + <pluginManagement> <plugins> <plugin> @@ -244,24 +250,57 @@ </configuration> </plugin> <plugin> - <inherited>false</inherited> - <artifactId>maven-assembly-plugin</artifactId> - <!-- <version>2.2-beta-1</version> --> - <version>2.2.2</version> - <!-- TODO Update Version 2.2-beta-1 for MOA-SPSS --> - <configuration> - <finalName>moa</finalName> - <encoding>UTF-8</encoding> - <descriptors> - <descriptor>id/assembly-auth-final.xml</descriptor> - <descriptor>id/assembly-auth-edu.xml</descriptor> - <descriptor>id/assembly-proxy.xml</descriptor> - - <!-- <descriptor>spss/assembly.xml</descriptor> <descriptor>spss/assembly-lib.xml</descriptor> --> - </descriptors> - </configuration> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <version>${jacoco-maven-plugin.version}</version> + <executions> + <execution> + <id>pre-unit-test</id> + <goals> + <goal>prepare-agent</goal> + </goals> + </execution> + <execution> + <id>post-unit-report</id> + <phase>test</phase> + <goals> + <goal>report</goal> + </goals> + <configuration> + <outputDirectory>target/jacoco-report</outputDirectory> + </configuration> + </execution> + <execution> + <id>post-unit-check</id> + <phase>test</phase> + <goals> + <goal>check</goal> + </goals> + <configuration> + <haltOnFailure>false</haltOnFailure> + <rules> + <rule> + <element>BUNDLE</element> + <limits> + <limit> + <counter>INSTRUCTION</counter> + <value>COVEREDRATIO</value> + <minimum>0.70</minimum> + </limit> + <limit> + <counter>BRANCH</counter> + <value>COVEREDRATIO</value> + <minimum>0.70</minimum> + </limit> + </limits> + </rule> + </rules> + </configuration> + </execution> + </executions> </plugin> + <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> @@ -909,15 +948,69 @@ <version>${org.apache.commons.io.version}</version> </dependency> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>${org.projectlombok.lombok.version}</version> + <scope>provided</scope> + </dependency> + </dependencies> <repositories> <repository> + <id>shibboleth.internet2.edu</id> + <name>Internet2</name> + <url>https://build.shibboleth.net/nexus/content/groups/public/</url> + </repository> + <repository> + <id>jboss</id> + <url>https://repository.jboss.org/nexus/content/repositories/central/</url> + <releases> + <enabled>true</enabled> + </releases> + </repository> + <repository> + <id>egiz-commons</id> + <url>https://apps.egiz.gv.at/maven/</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>egiz-commons-snapshot</id> + <url>https://apps.egiz.gv.at/maven-snapshot/</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + <repository> + <id>MOA_web</id> + <name>MOA Dependencies weblocation</name> + <releases> + <enabled>true</enabled> + <checksumPolicy>ignore</checksumPolicy> + </releases> + <layout>default</layout> + <url>https://git.egiz.gv.at/EAAF-Components/plain/eaaf_modules/eaaf_module_moa-sig/repository</url> + </repository> + + <repository> <id>MOA</id> <name>MOA Dependencies</name> - <!--releases> <enabled>false</enabled> </releases --> <layout>default</layout> <url>file://${repositoryPath}</url> + <releases> + <enabled>true</enabled> + <checksumPolicy>ignore</checksumPolicy> + </releases> </repository> + </repositories> </project> |