This is an automated email from the ASF dual-hosted git repository. hutcheb pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push: new 45ffc58d84 chore(sandbox): Remove the Sandbox Directory 45ffc58d84 is described below commit 45ffc58d848c202fce7eb0b22c19fa96223bace1 Author: Ben Hutcheson <ben.hut...@gmail.com> AuthorDate: Sat Mar 23 19:52:59 2024 +0100 chore(sandbox): Remove the Sandbox Directory --- .dockerignore | 12 ++-- .github/workflows/python-platform.yml | 10 ++-- .gitignore | 4 -- Jenkinsfile | 8 +-- README.md | 6 +- build-reproducible.sh | 2 +- docker-compose.yaml | 2 +- plc4j/examples/hello-docker/Dockerfile | 4 +- pom.xml | 8 --- reactors/all-drivers/pom.xml | 4 +- sandbox/.gitignore | 1 - sandbox/pom.xml | 70 ---------------------- src/main/script/prerequisiteCheck.groovy | 3 - src/site/asciidoc/developers/building.adoc | 11 +--- src/site/asciidoc/developers/release/release.adoc | 18 +++--- .../asciidoc/developers/release/validation.adoc | 1 - .../asciidoc/users/getting-started/plc4py.adoc | 2 +- tools/docker-compose.yaml | 2 +- tools/release-0-update-generated-code.sh | 2 +- tools/release-1-create-branch.sh | 2 +- tools/release-2-prepare-release.sh | 2 +- tools/release-abort.sh | 2 +- 22 files changed, 42 insertions(+), 134 deletions(-) diff --git a/.dockerignore b/.dockerignore index b56bf49093..6a080f7dfa 100644 --- a/.dockerignore +++ b/.dockerignore @@ -19,9 +19,9 @@ Dockerfile .dockerignore .git/** **/target/** -sandbox/plc4py/.eggs -sandbox/plc4py/.pytest_cache -sandbox/plc4py/build -sandbox/plc4py/dist -sandbox/plc4py/plc4py.egg-info -sandbox/plc4py/venv +plc4py/.eggs +plc4py/.pytest_cache +plc4py/build +plc4py/dist +plc4py/plc4py.egg-info +plc4py/venv diff --git a/.github/workflows/python-platform.yml b/.github/workflows/python-platform.yml index ca5aee5c84..54e7463421 100644 --- a/.github/workflows/python-platform.yml +++ b/.github/workflows/python-platform.yml @@ -24,13 +24,13 @@ on: paths: - code-generation/** - protocols/** - - sandbox/plc4py** + - plc4py** pull_request: branches: [ "develop", "plc4py" ] paths: - code-generation/** - protocols/** - - sandbox/plc4py** + - plc4py** workflow_dispatch: inputs: forceUpdates: @@ -136,9 +136,9 @@ jobs: # - name: Lint with flake8 # run: | # # stop the build if there are Python syntax errors or undefined names -# flake8 ./sandbox/plc4py --count --select=E9,F63,F7,F82 --show-source --statistics +# flake8 ./plc4py --count --select=E9,F63,F7,F82 --show-source --statistics # # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide -# flake8 ./sandbox/plc4py --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics +# flake8 ./plc4py --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics # - name: Initialize CodeQL # uses: github/codeql-action/init@v2 @@ -147,7 +147,7 @@ jobs: - name: Run mvnw run: | - ./mvnw${{ steps.platform_suffix.outputs.platform_suffix }} ${{ steps.extra_options.outputs.extra_options }} -B -P'with-sandbox,with-python,enable-all-checks,update-generated-code' -pl :plc4py -am ${{ steps.platform_opts.outputs.platform_opts }} install + ./mvnw${{ steps.platform_suffix.outputs.platform_suffix }} ${{ steps.extra_options.outputs.extra_options }} -B -P'with-python,enable-all-checks,update-generated-code' -pl :plc4py -am ${{ steps.platform_opts.outputs.platform_opts }} install # - name: Perform CodeQL Analysis # uses: github/codeql-action/analyze@v2 diff --git a/.gitignore b/.gitignore index 2763b28276..af6ab0dd9a 100644 --- a/.gitignore +++ b/.gitignore @@ -175,14 +175,10 @@ build-iPhoneSimulator/ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: .rvmrc -# When running the cpp module in clion, it adds another ".idea" directory. -/sandbox/plc4cpp/.idea/ - # Exclude VSCode project settings. .vscode/ # Temp stuff ... -/sandbox/plc4go/temp/ /plc4go/.idea/ plc4j/examples/hello-storage-elasticsearch/.factorypath diff --git a/Jenkinsfile b/Jenkinsfile index 4d1b26ade6..120f52c00e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -94,7 +94,7 @@ pipeline { } steps { echo 'Building' - sh './mvnw -B -P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-c,with-go,with-java ${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install' + sh './mvnw -B -P${JENKINS_PROFILE},skip-prerequisite-check,with-c,with-go,with-java ${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install' } post { always { @@ -117,7 +117,7 @@ pipeline { // We'll deploy to a relative directory so we can save // that and deploy in a later step on a different node - sh './mvnw -U -P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-c,with-go,with-java,update-generated-code,enable-all-checks ${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION} -DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir clean deploy' + sh './mvnw -U -P${JENKINS_PROFILE},skip-prerequisite-check,with-c,with-go,with-java,update-generated-code,enable-all-checks ${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION} -DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir clean deploy' // Stash the build results so we can deploy them on another node stash name: 'plc4x-build-snapshots', includes: 'local-snapshots-dir/**' @@ -137,8 +137,8 @@ pipeline { steps { echo 'Checking Code Quality on SonarCloud' withCredentials([string(credentialsId: 'chris-sonarcloud-token', variable: 'SONAR_TOKEN')]) { - //sh './mvnw -B -P${JENKINS_PROFILE},skip-prerequisite-check,with-python,with-proxies,with-sandbox sonar:sonar ${SONARCLOUD_PARAMS} -Dsonar.login=${SONAR_TOKEN}' - sh './mvnw -B -P${JENKINS_PROFILE},skip-prerequisite-check,with-c,with-go,with-java,with-sandbox sonar:sonar ${SONARCLOUD_PARAMS} -Dsonar.token=${SONAR_TOKEN}' + //sh './mvnw -B -P${JENKINS_PROFILE},skip-prerequisite-check,with-python,with-proxies sonar:sonar ${SONARCLOUD_PARAMS} -Dsonar.login=${SONAR_TOKEN}' + sh './mvnw -B -P${JENKINS_PROFILE},skip-prerequisite-check,with-c,with-go,with-java sonar:sonar ${SONARCLOUD_PARAMS} -Dsonar.token=${SONAR_TOKEN}' } } } diff --git a/README.md b/README.md index 4e0d1e9ac5..050a2c6539 100644 --- a/README.md +++ b/README.md @@ -200,16 +200,16 @@ In order to be able to build the `C# / .Net` module, you currently need to activ The Python implementation is currently in a somewhat unclean state and still needs refactoring. In order to be able to build the Python module, you currently need to activate the: -`with-sandbox` and `with-python` profiles. +`with-python` profiles. ``` -./mvnw -P with-sandbox,with-python install +./mvnw -P with-python install ``` In order to build everything the following command should work: ``` -./mvnw -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks,update-generated-code install +./mvnw -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks,update-generated-code install ``` ## Community diff --git a/build-reproducible.sh b/build-reproducible.sh index 252f297204..f6f4c7229e 100644 --- a/build-reproducible.sh +++ b/build-reproducible.sh @@ -38,7 +38,7 @@ # Run a standard build function build() { echo "Building ..." - mvn -U -P apache-release,with-c,with-dotnet,with-go,with-java,with-python,with-sandbox -DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir clean deploy + mvn -U -P apache-release,with-c,with-dotnet,with-go,with-java,with-python -DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir clean deploy echo "Done" } diff --git a/docker-compose.yaml b/docker-compose.yaml index f1346a7caf..dee10b8bda 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -23,7 +23,7 @@ services: build: context: . dockerfile: Dockerfile - command: ["/ws/mvnw", "-e", "-Dskip-pgp-signing=true", "-P", "with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks,apache-release", "-Dmaven.repo.local=/ws/out/.repository", "clean", "install"] + command: ["/ws/mvnw", "-e", "-Dskip-pgp-signing=true", "-P", "with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks,apache-release", "-Dmaven.repo.local=/ws/out/.repository", "clean", "install"] volumes: # Bind the local directory as "/ws" - type: bind diff --git a/plc4j/examples/hello-docker/Dockerfile b/plc4j/examples/hello-docker/Dockerfile index b9259256b6..e8a445f942 100644 --- a/plc4j/examples/hello-docker/Dockerfile +++ b/plc4j/examples/hello-docker/Dockerfile @@ -63,10 +63,10 @@ RUN dos2unix .mvn/wrapper/maven-wrapper.properties # Tell Maven to fetch all needed dependencies first, so they can get cached # (Tried a patched version of the plugin to allow exclusion of inner artifacts. # See https://issues.apache.org/jira/browse/MDEP-568 for details) -RUN ./mvnw -P with-c,with-dotnet,with-go,with-java,with-sandbox com.offbytwo.maven.plugins:maven-dependency-plugin:3.1.1.MDEP568:go-offline -DexcludeGroupIds=org.apache.plc4x,org.apache.plc4x.examples,org.apache.plc4x.sandbox +RUN ./mvnw -P with-c,with-dotnet,with-go,with-java com.offbytwo.maven.plugins:maven-dependency-plugin:3.1.1.MDEP568:go-offline -DexcludeGroupIds=org.apache.plc4x,org.apache.plc4x.examples,org.apache.plc4x.sandbox # Build everything with all tests -RUN ./mvnw -P with-c,with-dotnet,with-go,with-java,with-sandbox install +RUN ./mvnw -P with-c,with-dotnet,with-go,with-java install # Get the version of the project and save it in a local file on the container RUN ./mvnw org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -DforceStdout -q -pl . > project_version diff --git a/pom.xml b/pom.xml index 6d50989dc8..17a4b8d3e3 100644 --- a/pom.xml +++ b/pom.xml @@ -1630,14 +1630,6 @@ </modules> </profile> - <!-- Build PLC4X including the Sandbox modules --> - <profile> - <id>with-sandbox</id> - <modules> - <module>sandbox</module> - </modules> - </profile> - <!-- Profile for linux amd64 (Self-Enabling) --> <profile> <id>.os-linux-amd64</id> diff --git a/reactors/all-drivers/pom.xml b/reactors/all-drivers/pom.xml index 291893e06b..653cdd55aa 100644 --- a/reactors/all-drivers/pom.xml +++ b/reactors/all-drivers/pom.xml @@ -36,8 +36,8 @@ <module>../../code-generation</module> <module>../../protocols</module> <module>../../plc4j/drivers</module> - <module>../../sandbox/test-java-bacnetip-driver</module> - <module>../../sandbox/test-java-df1-driver</module> + <!--module>../../sandbox/test-java-bacnetip-driver</module--> + <!--module>../../sandbox/test-java-df1-driver</module--> </modules> </project> diff --git a/sandbox/.gitignore b/sandbox/.gitignore deleted file mode 100644 index 62c893550a..0000000000 --- a/sandbox/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.idea/ \ No newline at end of file diff --git a/sandbox/pom.xml b/sandbox/pom.xml deleted file mode 100644 index ce073b7d14..0000000000 --- a/sandbox/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - --> -<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>org.apache.plc4x</groupId> - <artifactId>plc4x-parent</artifactId> - <version>0.13.0-SNAPSHOT</version> - </parent> - - <groupId>org.apache.plc4x.sandbox</groupId> - <artifactId>plc4x-sandbox</artifactId> - <packaging>pom</packaging> - - <name>Sandbox</name> - <description>Place where new stuff is located before it is regarded production-quality.</description> - - <properties> - <project.build.outputTimestamp>2024-02-16T14:53:02Z</project.build.outputTimestamp> - </properties> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <configuration> - <usedDependencies combine.children="append"> - <usedDependency>org.slf4j:log4j-over-slf4j</usedDependency> - </usedDependencies> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-enforcer-plugin</artifactId> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - </plugins> - </build> - - <modules> - </modules> - - <profiles> - - </profiles> - -</project> diff --git a/src/main/script/prerequisiteCheck.groovy b/src/main/script/prerequisiteCheck.groovy index ac46ed7868..7f19e3f69b 100644 --- a/src/main/script/prerequisiteCheck.groovy +++ b/src/main/script/prerequisiteCheck.groovy @@ -378,7 +378,6 @@ def goEnabled = false // Java is always enabled ... def javaEnabled = false def pythonEnabled = false -def sandboxEnabled = false def apacheReleaseEnabled = false def activeProfiles = session.request.activeProfiles for (def activeProfile : activeProfiles) { @@ -392,8 +391,6 @@ for (def activeProfile : activeProfiles) { javaEnabled = true } else if (activeProfile == "with-python") { pythonEnabled = true - } else if (activeProfile == "with-sandbox") { - sandboxEnabled = true } else if (activeProfile == "apache-release") { apacheReleaseEnabled = true } diff --git a/src/site/asciidoc/developers/building.adoc b/src/site/asciidoc/developers/building.adoc index 2d2eb0d369..52910e81a6 100644 --- a/src/site/asciidoc/developers/building.adoc +++ b/src/site/asciidoc/developers/building.adoc @@ -59,10 +59,6 @@ https://vimeo.com/167857327 === Building PLC4X with Maven -In general all modules which are not considered production-ready are located in the `sandbox` section of the project. - -They are not built per default and are enabled by enabling the `with-sandbox` Maven profile. - As especially building the C++, and C# drivers requires building of some third party artifacts and increases build-time dramatically and requires setting up some additional third party tools, we have excluded these parts form the default Maven build. The following profiles are available (*They have to be enabled additionally to the `with-sandbox` profile*): @@ -71,8 +67,7 @@ The following profiles are available (*They have to be enabled additionally to t - `with-dotnet`: Builds all C# and .Net related modules, integrations and examples - `with-go`: Builds all Go related modules, integrations and examples - `with-java`: Builds all Java related modules, integrations and examples -- `with-python`: Builds all Python related modules, integrations and examples (Also requires `with-sandbox`) -- `with-sandbox`: Builds the modules which are not yet considered stable enough to become part of the main distribution +- `with-python`: Builds all Python related modules, integrations and examples WARNING: As these profiles typically require some preparation and setup on your development machine, please read the link:preparing/index.html[Preparing your Computer] guide for a detailed description on this. @@ -90,13 +85,13 @@ If you want to skip the running of tests (even if this is not encouraged) you ca All Apache PLC4X modules are built by executing the following command: - mvn -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox install + mvn -P with-c,with-dotnet,with-go,with-java,with-python install This not only builds the artifacts and creates the jar files, but also runs all unit- and integration-tests. If you want to skip the running of tests (even if this is not encouraged) you can skip them all together. - mvn -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox install -DskipTests + mvn -P with-c,with-dotnet,with-go,with-java,with-python install -DskipTests This will not skip the compilation of tests, however. diff --git a/src/site/asciidoc/developers/release/release.adoc b/src/site/asciidoc/developers/release/release.adoc index 86b34b63af..4e7ae20674 100644 --- a/src/site/asciidoc/developers/release/release.adoc +++ b/src/site/asciidoc/developers/release/release.adoc @@ -29,14 +29,14 @@ IMPORTANT: Please be sure to execute the release with a Java version 11 or the K * [ ] Create release branch: [subs="verbatim,attributes"] ---- - mvn release:branch -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks -DbranchName=rel/{current-short-version} + mvn release:branch -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks -DbranchName=rel/{current-short-version} ---- [%interactive] * [ ] Add a new section to the `RELEASE_NOTES` on `develop` * [ ] Prepare the release: [subs="verbatim,attributes"] ---- - mvn release:prepare -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks + mvn release:prepare -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks ---- [%interactive] * [ ] Perform the release: @@ -157,14 +157,14 @@ This is the version the `develop` branch will be changed to. In contrast to normal builds, it is important to enable all profiles when creating the branch as only this way will all modules versions be updated. Otherwise, the non-default modules on develop will reference the old version which will cause problems when building. - mvn release:branch -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks -DbranchName=rel/{minor-version} + mvn release:branch -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks -DbranchName=rel/{minor-version} Per default the plugin suggests the next bugfix version as working version, however we want it to use the next minor version. So in case of preparing the release branch for `{current-full-version}-SNAPSHOT` the command would be the following: [subs="verbatim,attributes"] ---- - mvn release:branch -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks -DbranchName=rel/{current-short-version} + mvn release:branch -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks -DbranchName=rel/{current-short-version} ---- The plugin will then aks for the version: @@ -229,9 +229,9 @@ In order to prepare a release-candidate, the first step is switching to the corr After that, the following command will to all preparation steps for the release: - mvn release:prepare -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks + mvn release:prepare -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks -(The `-P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks` tells maven to activate the all profiles that partition the build and makes sure the versions of all modules are updated as part of the release) +(The `-P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks` tells maven to activate the all profiles that partition the build and makes sure the versions of all modules are updated as part of the release) In general the plugin will now ask you 3 questions: 1. The version we want to release as (It will suggest the version you get by omitting the `-SNAPSHOT` suffix) @@ -279,7 +279,7 @@ NOTE: If the commit history doesn't look like this, something went wrong. If something goes wrong, you can always execute: - mvn release:rollback -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks + mvn release:rollback -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks It will change the versions back and commit and push things. @@ -304,7 +304,7 @@ Here it automatically executes a maven build (You don't have to do this, it's ju As the `apache-release` profile is also activated, this builds and tests the project as well as creates the JavaDocs, Source packages and signs each of these with your PGP key. -We are intentionally not adding the other profiles, as these either produce binary artifacts that usually only work on the system they were compiled on (C++, .Net) or we haven't found a good way to distribute them via Maven yet (Python) or deployment is disabled anyway (sandbox). +We are intentionally not adding the other profiles, as these either produce binary artifacts that usually only work on the system they were compiled on (C++, .Net) or we haven't found a good way to distribute them via Maven yet (Python). As this time the build is building with release versions, Maven will automatically choose the release url for deploying artifacts. @@ -464,7 +464,7 @@ If however for some reason it is needed to prepare a new RC for the release. Ple - Set the versions of the release branch to the previous version by using the `versions:set` plugin: - mvn versions:set -DprocessAllModules=true -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks + mvn versions:set -DprocessAllModules=true -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks - Delete the tag locally: diff --git a/src/site/asciidoc/developers/release/validation.adoc b/src/site/asciidoc/developers/release/validation.adoc index adc3c9173f..e5f572b49a 100644 --- a/src/site/asciidoc/developers/release/validation.adoc +++ b/src/site/asciidoc/developers/release/validation.adoc @@ -64,7 +64,6 @@ java -jar apache-rat-0.13.jar apache-plc4x-{current-full-version}-source-release ---- find . -type f -name 'pom.xml' -exec grep -l "SNAPSHOT" {} \; ---- -NOTE: Especially in the `sandbox` there may be parts that are not formally released, `SNAPSHOT` versions in the `sandbox` therefore should not result in a `-1` vote ... in the other parts however they should. [%interactive] * [ ] Search for `Copyright` references, and if they are in headers, make sure these files containing them are mentioned in the LICENSE file. * [ ] Build the project according to the information in the README.md file. diff --git a/src/site/asciidoc/users/getting-started/plc4py.adoc b/src/site/asciidoc/users/getting-started/plc4py.adoc index 83d5509e85..23c3a601cc 100644 --- a/src/site/asciidoc/users/getting-started/plc4py.adoc +++ b/src/site/asciidoc/users/getting-started/plc4py.adoc @@ -22,7 +22,7 @@ Currently, you need to install PLC4Py from the GitHub repository instead of pypi. Once we have decided that PLC4Py is in a position to release we will publish to pypi. -Navigate to the sandbox/plc4py directory and run. This will install plc4py in your global repository. +Navigate to the plc4py directory and run. This will install plc4py in your global repository. [subs=attributes+] ---- diff --git a/tools/docker-compose.yaml b/tools/docker-compose.yaml index ab97dbcdf3..54258c60e6 100644 --- a/tools/docker-compose.yaml +++ b/tools/docker-compose.yaml @@ -24,7 +24,7 @@ services: context: .. dockerfile: ./Dockerfile # Builds all modules and uses an alternate maven local repo and deploys artifacts to a local directory. - command: ["/ws/mvnw", "-e", "-Dskip-pgp-signing=true", "-P", "with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks,apache-release", "-Dmaven.repo.local=/ws/out/.repository", "-DaltDeploymentRepository=snapshot-repo::default::file:/ws/out/.local-snapshots-dir", "clean", "deploy"] + command: ["/ws/mvnw", "-e", "-Dskip-pgp-signing=true", "-P", "with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks,apache-release", "-Dmaven.repo.local=/ws/out/.repository", "-DaltDeploymentRepository=snapshot-repo::default::file:/ws/out/.local-snapshots-dir", "clean", "deploy"] volumes: # Bind the local directory as "/ws" - type: bind diff --git a/tools/release-0-update-generated-code.sh b/tools/release-0-update-generated-code.sh index 1a6c562a74..a564d1f60c 100755 --- a/tools/release-0-update-generated-code.sh +++ b/tools/release-0-update-generated-code.sh @@ -47,7 +47,7 @@ rm -r "$DIRECTORY/plc4c/generated-sources" # 3. Run the maven build for all modules with "update-generated-code" enabled (Docker container) docker compose build -docker compose run releaser bash /ws/mvnw -e -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks,update-generated-code -Dmaven.repo.local=/ws/out/.repository clean package -DskipTests +docker compose run releaser bash /ws/mvnw -e -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks,update-generated-code -Dmaven.repo.local=/ws/out/.repository clean package -DskipTests if [ $? -ne 0 ]; then echo "Got non-0 exit code from docker compose, aborting." exit 1 diff --git a/tools/release-1-create-branch.sh b/tools/release-1-create-branch.sh index 06be75e034..da0dee30f3 100755 --- a/tools/release-1-create-branch.sh +++ b/tools/release-1-create-branch.sh @@ -51,7 +51,7 @@ case $yn in esac # 3. Do a simple maven branch command with pushChanges=false -docker compose run releaser bash /ws/mvnw -e -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks,update-generated-code -Dmaven.repo.local=/ws/out/.repository release:branch -DautoVersionSubmodules=true -DpushChanges=false -DdevelopmentVersion="$NEW_VERSION" -DbranchName="$BRANCH_NAME" +docker compose run releaser bash /ws/mvnw -e -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks,update-generated-code -Dmaven.repo.local=/ws/out/.repository release:branch -DautoVersionSubmodules=true -DpushChanges=false -DdevelopmentVersion="$NEW_VERSION" -DbranchName="$BRANCH_NAME" if [ $? -ne 0 ]; then echo "Got non-0 exit code from docker compose, aborting." exit 1 diff --git a/tools/release-2-prepare-release.sh b/tools/release-2-prepare-release.sh index 31c30edef3..f8a401e0b0 100755 --- a/tools/release-2-prepare-release.sh +++ b/tools/release-2-prepare-release.sh @@ -34,7 +34,7 @@ IFS='.' read -ra VERSION_SEGMENTS <<< "$RELEASE_VERSION" NEW_VERSION="${VERSION_SEGMENTS[0]}.${VERSION_SEGMENTS[1]}.$((VERSION_SEGMENTS[2] + 1))-SNAPSHOT" # 1. Do a simple release-prepare command -docker compose run releaser bash /ws/mvnw -e -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,enable-all-checks,update-generated-code -Dmaven.repo.local=/ws/out/.repository release:prepare -DautoVersionSubmodules=true -DreleaseVersion="$RELEASE_VERSION" -DdevelopmentVersion="$NEW_VERSION" -Dtag="v$RELEASE_VERSION" +docker compose run releaser bash /ws/mvnw -e -P with-c,with-dotnet,with-go,with-java,with-python,enable-all-checks,update-generated-code -Dmaven.repo.local=/ws/out/.repository release:prepare -DautoVersionSubmodules=true -DreleaseVersion="$RELEASE_VERSION" -DdevelopmentVersion="$NEW_VERSION" -Dtag="v$RELEASE_VERSION" if [ $? -ne 0 ]; then echo "Got non-0 exit code from docker compose, aborting." exit 1 diff --git a/tools/release-abort.sh b/tools/release-abort.sh index f694898160..a47087d4b3 100755 --- a/tools/release-abort.sh +++ b/tools/release-abort.sh @@ -42,7 +42,7 @@ DIRECTORY=$(pwd) PRE_RELEASE_VERSION=0.12.0-SNAPSHOT # Set the local development version back to the initial one. -docker compose run releaser bash /ws/mvnw -e -P with-c,with-dotnet,with-go,with-java,with-python,with-sandbox,update-generated-code -Dmaven.repo.local=/ws/out/.repository versions:set -DnewVersion="$PRE_RELEASE_VERSION" +docker compose run releaser bash /ws/mvnw -e -P with-c,with-dotnet,with-go,with-java,with-python,update-generated-code -Dmaven.repo.local=/ws/out/.repository versions:set -DnewVersion="$PRE_RELEASE_VERSION" # Delete left-over files from the last attempt. find .. -type f -name 'release.properties' -delete