Hope to see you there!
Hope to see you there!
This page documents the process of creating a Apache™ FOP release. FOP releases are coordinated by some designated member of the team. The purpose of documenting it here is to facilitate consistency, ensure that the process is captured, and to allow others to comment on the process.
The checklist below is based on a combination of input from from Christian Geisert and Simon Pepping.
Determine which open bugs must be solved before a release can take place (release critical bugs). Make this bug depend on each release critical bug and write a short argument why the bug is release critical.
Determine whether this is a Release Candidate or a Release.
Determine whether further testing is required.
Commit any outstanding changes
Create a branch calledfop-v_vv
Edit release notes (README in the root).
Check and update the copyright year in NOTICE and build.xml.
Update version number inbuild.xml,releasedist.xml and allpom.xml (not to be merged back into main).
Update dependancy versions inpom.xml to release versions.
Commit and push changes
Build the dist files (ant -f releasedist.xml release-dist) and upload them to your web directory ongithub.io
Compare with last release zips for files added and missing
Start a vote for the release ongeneral@xmlgraphics.apache.org. The message should point to the release files. The vote should remain open for 7 days.
When the release is accepted, copy the release files, their checksum files and the signature files to svn repohttps://dist.apache.org/repos/dist/release/xmlgraphics/fop/ in the subdirectoriessource andbinaries. Remove old release files.
Merge the changes of the git release branch back into main (not the version number in the build files).
Tag the source tree with the release ID.
Clone repo https://gitbox.apache.org/repos/asf/xmlgraphics-website.git
Copy xmlgraphics-website/content/fop/trunk directory to a new directory with the new version number.
Compare last version directory with new version directory, and update as needed.
Look at old commits to see other changes needed outside this directory.
Commit and push
Run: mvn clean install javadoc:jar source:jar repository:bundle-create -B -DskipTests
Copy the *-bundle.jar files to a new directory
Run this command
python signmvn.py:
importosimportshutildefaddasc(bundle,afile):os.system('jar xf '+bundle+' '+afile)ifos.path.exists(afile):os.system('gpg --armor --detach-sign --force-v3-sigs --batch --verbose '+afile)os.system('jar uf '+bundle+' '+afile+'.asc')os.remove(afile)os.remove(afile+'.asc')forbundleinos.listdir('.'):ifbundle.endswith('bundle.jar'):addasc(bundle,'pom.xml')addasc(bundle,bundle.replace('-bundle',''))addasc(bundle,bundle.replace('-bundle','-javadoc'))addasc(bundle,bundle.replace('-bundle','-sources'))addasc(bundle,bundle.replace('-bundle','-tests'))Upload to: https://repository.apache.org/#staging-upload check for errors at https://repository.apache.org/#stagingRepositories
Setup staging config in ~/.m2/settings.xml, rename ~/.m2/repository
settings.xml:
<settings><profiles><profile><id>myprofile</id><repositories><repository><id>my-repo2</id><name>your custom repo</name><url>https://repository.apache.org/content/repositories/staging</url></repository></repositories></profile></profiles><activeProfiles><activeProfile>myprofile</activeProfile></activeProfiles></settings>pom.xml:
<projectxmlns="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"><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-app</artifactId><packaging>jar</packaging><version>1.0-SNAPSHOT</version><name>my-app</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>org.apache.xmlgraphics</groupId><artifactId>fop</artifactId><version>2.10</version></dependency></dependencies></project>Post announcements on following suggested lists:
The following is a sample of some other project release checklists, which might be consulted for ideas:
Following are links with information about mirroring:
Stefan Bodewig'sMaking your Downloads Mirrorable
Copyright © 2025 The Apache Software Foundation, Licensed undertheApache License, Version 2.0.
Apache, Apache XML Graphics, Apache FOP, Apache Batik, the Apache logo, and theApache XML Graphics logos are trademarks ofThe ApacheSoftware Foundation. All other marks mentioned may be trademarks or registeredtrademarks of their respective owners.