Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@ jobs:
- name: Publish to Maven Central Repository
if: ${{ !inputs.skip-deploy-maven-central }}
run: |
mvn --batch-mode deploy -Pcentral-publishing \
-DskipPublishing=false \
-DautoPublish=${{ inputs.maven-central-auto-publish }} \
-DdeploymentName="Auto-deploy OFT via release.yml"
mvn --batch-mode deploy -PcentralPublishing \
-DcentralPublishingSkipPublishing=false \
-DcentralPublishingAutoPublish=${{ inputs.maven-central-auto-publish }} \
-DcentralPublishingDeploymentName="Auto-deploy OpenFastTrace via release.yml"
env:
MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_PORTAL_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PORTAL_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ If you just want to run OFT:

The most basic variant to run OpenFastTrace is directly from the JAR file via the command line:

```bash
```sh
java -jar product/target/openfasttrace-4.2.0.jar trace /path/to/directory/being/traced
```

Expand Down
21 changes: 10 additions & 11 deletions doc/developer_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ If you want to build OFT:

## Configure Maven Toolchains

OFT uses Maven Toolchains to configure the correct JDK version (see the [documentation](https://maven.apache.org/guides/mini/guide-using-toolchains.html) for details). To configure the Toolchains plugin create file ` ~/.m2/toolchains.xml` with the following content. Adapt the paths to your JDKs.
OFT uses Maven Toolchains to configure the correct JDK version (see the [documentation](https://maven.apache.org/guides/mini/guide-using-toolchains.html) for details). To configure the Toolchains plugin create file `~/.m2/toolchains.xml` with the following content. Adapt the paths to your JDKs.

```xml
<toolchains xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0"
Expand All @@ -73,7 +73,7 @@ OFT uses Maven Toolchains to configure the correct JDK version (see the [documen
<jdkHome>/usr/lib/jvm/java-17-openjdk-amd64/</jdkHome>
</configuration>
</toolchain>
<toolchain>
<toolchain>
<type>jdk</type>
<provides>
<version>21</version>
Expand Down Expand Up @@ -155,27 +155,27 @@ If you use a different IDE like IntelliJ, please import the formatter configurat

We use [`java.util.logging`](https://docs.oracle.com/javase/8/docs/technotes/guides/logging/overview.html) for logging. To configure log level and formatting, add the following system property:

```bash
```sh
-Djava.util.logging.config.file=src/test/resources/logging.properties
```

## Check for updated dependencies / plugins

Display dependencies and plugins with newer versions:

```bash
```sh
mvn --update-snapshots versions:display-dependency-updates versions:display-plugin-updates
```

Automatically upgrade dependencies:

```bash
```sh
mvn -T 1C --update-snapshots versions:use-latest-releases versions:update-properties
```

## Run local sonar analysis

```bash
```sh
mvn -T 1C clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar \
-Dsonar.token=[token]
```
Expand All @@ -187,11 +187,11 @@ See analysis results at [sonarcloud.io](https://sonarcloud.io/dashboard?id=org.i
This project is configured to produce exactly the same artifacts each time when building from the same Git commit. See the [Maven Guide to Configuring for Reproducible Builds](https://maven.apache.org/guides/mini/guide-reproducible-builds.html).

* Verify correct configuration of the reproducible build (also included in phase `verify`):
```bash
```sh
mvn initialize artifact:check-buildplan
```
* Verify that the build produces exactly the same artifacts:
```bash
```sh
mvn -T 1C clean install -DskipTests
mvn -T 1C clean verify artifact:compare -DskipTests
```
Expand Down Expand Up @@ -275,7 +275,7 @@ This structure ensures that only user-facing components are published to Maven C
Build deployment bundle to check if the expected modules are included:

```sh
mvn -T1C deploy -Pcentral-publishing -DskipPublishing=true -DskipTests
mvn -T1C deploy -PcentralPublishing -DcentralPublishingSkipPublishing=true -DskipTests
```

This will build `central-bundle.zip` in one of the modules. Find it with `find . -name "central-bundle.zip"`, then check it's content with `unzip -l api/target/central-publishing/central-bundle.zip`.
Expand All @@ -296,13 +296,12 @@ Configure Maven Central credentials in `~/.m2/settings.xml`:
</server>
</servers>
</settings>

```

The following command will upload the bundle to Maven Central without publishing:

```sh
mvn -T1C clean deploy -Pcentral-publishing -DskipPublishing=true -DautoPublish=false -DskipTests
mvn -T1C clean deploy -PcentralPublishing -DcentralPublishingSkipPublishing=true -DcentralPublishingAutoPublish=false -DskipTests
```

Then go to https://central.sonatype.com/publishing/deployments and check that the deployment is marked as "validated" and that the expected components are included. Don't forget to click the "Drop" button to avoid accidentally publishing the release.
2 changes: 1 addition & 1 deletion doc/user_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,7 @@ exports all relevant collected information into a single XML file that can furth
The XML exporter is called `aspec` reporter. `aspec` in this case means augmented specobject. An `aspec` report
can be generated by calling OpenFastTrace in the following way:

```bash
```sh
java -jar openfasttrace.jar trace -o aspec -f requirements.xml requirements
```

Expand Down
13 changes: 9 additions & 4 deletions openfasttrace-mc-deployable-parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,14 @@ It is maintained separately from the main parent POM for the following reasons:
</parent>
<description>Free requirement tracking suite</description>
<url>https://github.com/itsallcode/openfasttrace</url>
<properties>
<centralPublishingSkipPublishing>false</centralPublishingSkipPublishing>
<centralPublishingAutoPublish>false</centralPublishingAutoPublish>
<centralPublishingDeploymentName>Manual deployment of OpenFastTrace</centralPublishingDeploymentName>
</properties>
<profiles>
<profile>
<id>central-publishing</id>
<id>centralPublishing</id>
<build>
<plugins>
<plugin>
Expand All @@ -37,10 +42,10 @@ It is maintained separately from the main parent POM for the following reasons:
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<skipPublishing>false</skipPublishing>
<autoPublish>false</autoPublish>
<skipPublishing>${centralPublishingSkipPublishing}</skipPublishing>
<autoPublish>${centralPublishingAutoPublish}</autoPublish>
<waitUntil>validated</waitUntil>
<deploymentName>Manual deployment of OpenFastTrace</deploymentName>
<deploymentName>${centralPublishingDeploymentName}</deploymentName>
</configuration>
</plugin>
<plugin>
Expand Down
Loading