You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+39-12Lines changed: 39 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,21 +87,49 @@ You should now have all the bndtools projects in your workspace, ready to begin
87
87
## Build Environment
88
88
89
89
The only thing you need to build Bnd/Bndtools is Java.
90
-
- We require at least Java 17.
91
-
- We use Gradle and Maven to build and the repo includes `gradlew` and `mvnw` at the necessary versions.
92
-
93
-
-`./gradlew :build` (or `./gradlew build -x test -x testOSGi` to skip tests for faster local builds) - Assembles and tests the Bnd Workspace projects. This must be run before building the Bnd Maven and Gradle plugins.
94
-
-`./gradlew :gradle-plugins:build` - Assembles and tests the Bnd Gradle plugins.
95
-
-`./mvnw install` - Assembles and tests the Bnd Maven plugins.
96
-
-`./gradlew :publish` - Assembles and publishes the Bnd Workspace projects into `dist/bundles`.
97
-
-`./gradlew :gradle-plugins:publish` - Assembles and publishes the Bnd Gradle plugins into `dist/bundles`.
98
-
-`./mvnw -Pdist deploy` - Assembles and publishes the Bnd Maven plugins into `dist/bundles`.
90
+
- We require at least Java 17 locally installed in path.
91
+
- We use Gradle and Maven to build and the repo includes `gradlew` and `mvnw` wrappers with the necessary versions.
92
+
93
+
- assembles and tests the Bnd Workspace projects
94
+
```bash
95
+
./gradlew build 2>&1| tee "build_$(date +%Y%m%d_%H%M%S).log"
96
+
```
97
+
- alternative skip tests for faster local builds
98
+
```bash
99
+
./gradlew build -x test -x testOSGi 2>&1| tee "build_skipTests_$(date +%Y%m%d_%H%M%S).log"
100
+
```
101
+
**MIND: Above step is pre-requisite for following build of Bnd Maven and Gradle plugin.**
102
+
- assembles and tests the Bnd Gradle plugins
103
+
```bash
104
+
./gradlew :gradle-plugins:build 2>&1| tee "build_gradle-plguns_$(date +%Y%m%d_%H%M%S).log"
105
+
```
106
+
- assembles and tests the Bnd Maven plugins
107
+
```bash
108
+
./mvnw install 2>&1| tee "build_mvn_$(date +%Y%m%d_%H%M%S).log"
109
+
```
110
+
- assembles and publishes the Bnd Workspace projects into `dist/bundles`
111
+
```bash
112
+
./gradlew publish 2>&1| tee "build_publish_$(date +%Y%m%d_%H%M%S).log"
113
+
```
114
+
- assembles and publishes the Bnd Gradle plugins into `dist/bundles`
115
+
```bash
116
+
./gradlew :gradle-plugins:publish 2>&1| tee "build_gradle-plugins_publish_$(date +%Y%m%d_%H%M%S).log"
117
+
```
118
+
- assembles and publishes the Bnd Maven plugins into `dist/bundles`
119
+
```bash
120
+
./mvnw -Pdist deploy 2>&1| tee "build_mvn_deploy_$(date +%Y%m%d_%H%M%S).log"
121
+
```
99
122
100
123
Rebuilding: bnd is built with bnd. For that reason we rebuild and retest bnd with the build we just built.
101
124
To do a full build-rebuild cycle (like the github build), you can use the following command:
2>&1 | tee "build_full_$(date +%Y%m%d_%H%M%S).log"
132
+
```
105
133
106
134
We use [GitHub Actions](https://github.com/bndtools/bnd/actions?query=workflow%3A%22CI%20Build%22) for continuous integration and the repo includes a `.github/workflows/cibuild.yml` file to build via GitHub Actions.
107
135
@@ -305,4 +333,3 @@ If your pull request was originally a work-in-progress, don't forget to remove W
305
333
Don't forget: being a maintainer is a time investment.
306
334
Make sure you will have time to make yourself available.
307
335
You don't have to be a maintainer to make a difference on the project!
0 commit comments