diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..eea79a3341d4e20c298b8472ed1e8c16e16ab2dc --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,37 @@ +image: maven:3.9.6-eclipse-temurin-22 + +variables: + # This will supress any download for dependencies and plugins or upload messages which would clutter the console log. + # `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work. + 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" + MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version" + # -DinstallAtEnd=true -DdeployAtEnd=true" + +# Cache downloaded dependencies and plugins between builds. +# To keep cache across branches add '' +cache: + key: "$CI_JOB_NAME" + paths: + - .m2/repository + +stages: + - build + - deploy + +build: + stage: build + script: + - mvn -P utu -pl parent install + - mvn -P utu -pl io install + - mvn -P utu -pl fontbox install + - mvn -P utu -pl pdfbox install + +deploy: + stage: deploy + rules: + - if: $CI_COMMIT_TAG + script: + - mvn -P utu -pl parent deploy -s ci_settings.xml + - mvn -P utu -pl io deploy -s ci_settings.xml + - mvn -P utu -pl fontbox deploy -s ci_settings.xml + - mvn -P utu -pl pdfbox deploy -s ci_settings.xml diff --git a/ci_settings.xml b/ci_settings.xml new file mode 100644 index 0000000000000000000000000000000000000000..59c8c271cb4549ebcad535c1c9e1907839ba440f --- /dev/null +++ b/ci_settings.xml @@ -0,0 +1,16 @@ +<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd"> + <servers> + <server> + <id>gitlab-maven</id> + <configuration> + <httpHeaders> + <property> + <name>Job-Token</name> + <value>${env.CI_JOB_TOKEN}</value> + </property> + </httpHeaders> + </configuration> + </server> + </servers> +</settings> diff --git a/fontbox/pom.xml b/fontbox/pom.xml index a7d06374ee87d1426650fd99fd12e0b8a18a7a5d..861fc2055e587360ebbb411833e0777cdddfe849 100644 --- a/fontbox/pom.xml +++ b/fontbox/pom.xml @@ -21,7 +21,7 @@ <parent> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-parent</artifactId> - <version>3.0.3</version> + <version>3.0.3-JPMS</version> <relativePath>../parent/pom.xml</relativePath> </parent> diff --git a/fontbox/src/main/java/module-info.java b/fontbox/src/main/java/module-info.java new file mode 100644 index 0000000000000000000000000000000000000000..56af141dadb35a115000da5edded6a6fd8c97a69 --- /dev/null +++ b/fontbox/src/main/java/module-info.java @@ -0,0 +1,18 @@ + +module org.apache.fontbox { + requires org.apache.pdfbox.io; + requires org.apache.commons.logging; + requires java.desktop; + exports org.apache.fontbox; + exports org.apache.fontbox.afm; + exports org.apache.fontbox.cff; + exports org.apache.fontbox.cmap; + exports org.apache.fontbox.encoding; + exports org.apache.fontbox.pfb; + exports org.apache.fontbox.ttf; + exports org.apache.fontbox.type1; + exports org.apache.fontbox.util; + exports org.apache.fontbox.ttf.gsub; + exports org.apache.fontbox.ttf.model; + exports org.apache.fontbox.util.autodetect; +} \ No newline at end of file diff --git a/io/pom.xml b/io/pom.xml index b1169b5e973d5f7fecdf28787778cc3ec96101b9..78fb404b6a7afe2e459cf6311189f5040c1e2ab2 100644 --- a/io/pom.xml +++ b/io/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-parent</artifactId> - <version>3.0.3</version> + <version>3.0.3-JPMS</version> <relativePath>../parent/pom.xml</relativePath> </parent> diff --git a/io/src/main/java/module-info.java b/io/src/main/java/module-info.java new file mode 100644 index 0000000000000000000000000000000000000000..6411145ef8ddb1d7b154475691de74b4150242a8 --- /dev/null +++ b/io/src/main/java/module-info.java @@ -0,0 +1,6 @@ +module org.apache.pdfbox.io { + requires org.apache.commons.logging; + requires java.base; + exports org.apache.pdfbox.io; + opens org.apache.pdfbox.io; +} \ No newline at end of file diff --git a/parent/pom.xml b/parent/pom.xml index 27e2074491f8c49bf0df4f73ce00132cee1f88fe..b09b3f8e3df1a933f06294148d60ca4015c2aa40 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -30,7 +30,7 @@ <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-parent</artifactId> <packaging>pom</packaging> - <version>3.0.3</version> + <version>3.0.3-JPMS</version> <name>Apache PDFBox parent</name> <inceptionYear>2002</inceptionYear> @@ -68,6 +68,7 @@ https://maven.apache.org/surefire/maven-surefire-plugin/faq.html#late-property-evaluation --> <surefireArgLine /> + <skipTests>true</skipTests> </properties> @@ -83,8 +84,8 @@ <artifactId>maven-compiler-plugin</artifactId> <configuration> <showDeprecation>true</showDeprecation> - <target>1.8</target> - <source>1.8</source> + <target>9</target> + <source>9</source> <encoding>UTF-8</encoding> </configuration> </plugin> @@ -226,7 +227,7 @@ <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> - <release>8</release> + <release>9</release> </configuration> </plugin> </plugins> @@ -283,6 +284,19 @@ </plugins> </build> </profile> + <profile> + <id>utu</id> + <distributionManagement> + <repository> + <id>gitlab-maven</id> + <url>${env.CI_API_V4_URL}/projects/${env.CI_PROJECT_ID}/packages/maven</url> + </repository> + <snapshotRepository> + <id>gitlab-maven</id> + <url>${env.CI_API_V4_URL}/projects/${env.CI_PROJECT_ID}/packages/maven</url> + </snapshotRepository> + </distributionManagement> + </profile> </profiles> <!-- Developers listed by PMC Chair, PMC all alphabetical--> diff --git a/pdfbox/pom.xml b/pdfbox/pom.xml index 164d076c96d00981ff284df61ea84992da4deb3a..463ebbade5a0b9520ffc716263539dbc32e4ef86 100644 --- a/pdfbox/pom.xml +++ b/pdfbox/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-parent</artifactId> - <version>3.0.3</version> + <version>3.0.3-JPMS</version> <relativePath>../parent/pom.xml</relativePath> </parent> diff --git a/pdfbox/src/main/java/module-info.java b/pdfbox/src/main/java/module-info.java new file mode 100644 index 0000000000000000000000000000000000000000..f6ada767ab0d627348e7520cf974bdbc60c8f269 --- /dev/null +++ b/pdfbox/src/main/java/module-info.java @@ -0,0 +1,35 @@ +module org.apache.pdfbox { + requires transitive org.apache.fontbox; + requires org.apache.pdfbox.io; + requires org.apache.commons.logging; + requires java.desktop; + requires org.bouncycastle.pkix; + requires org.bouncycastle.provider; + exports org.apache.pdfbox; + exports org.apache.pdfbox.contentstream; + exports org.apache.pdfbox.contentstream.operator; + exports org.apache.pdfbox.contentstream.operator.color; + exports org.apache.pdfbox.contentstream.operator.graphics; + exports org.apache.pdfbox.contentstream.operator.text; + exports org.apache.pdfbox.contentstream.operator.markedcontent; + exports org.apache.pdfbox.contentstream.operator.state; + exports org.apache.pdfbox.cos; + exports org.apache.pdfbox.filter; + exports org.apache.pdfbox.multipdf; + exports org.apache.pdfbox.pdfparser; + exports org.apache.pdfbox.pdfparser.xref; + exports org.apache.pdfbox.pdfwriter; + exports org.apache.pdfbox.pdfwriter.compress; + exports org.apache.pdfbox.pdmodel; + exports org.apache.pdfbox.pdmodel.common; + exports org.apache.pdfbox.pdmodel.font; + exports org.apache.pdfbox.pdmodel.encryption; + exports org.apache.pdfbox.pdmodel.graphics; + exports org.apache.pdfbox.pdmodel.fdf; + exports org.apache.pdfbox.pdmodel.fixup; + exports org.apache.pdfbox.printing; + exports org.apache.pdfbox.rendering; + exports org.apache.pdfbox.text; + exports org.apache.pdfbox.util; + opens org.apache.pdfbox; +} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 92bed3be3b06820fc6f0ac0fc57becee8f30e05c..cb3d99f61fd98b8b7ad97b543d36487bde8c21f5 100644 --- a/pom.xml +++ b/pom.xml @@ -23,14 +23,14 @@ <parent> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-parent</artifactId> - <version>3.0.3</version> + <version>3.0.3-JPMS</version> <relativePath>parent/pom.xml</relativePath> </parent> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-reactor</artifactId> <packaging>pom</packaging> - <version>3.0.3</version> + <version>3.0.3-JPMS</version> <name>Apache PDFBox Reactor</name>