Skip to content

Commit c5a821a

Browse files
Merge pull request #32 from OpenNTF/pullrequests/sbasegmez/develop
Serdar's 6.0.0 changes
2 parents 52dff29 + e16e681 commit c5a821a

File tree

21 files changed

+1880
-668
lines changed

21 files changed

+1880
-668
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2018-2019 Jesse Gallagher.
189+
Copyright 2018-2025 Contributors to the generate-domino-update-site project
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

NOTICE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
generate-domino-update-site
2+
3+
Portions (c) Copyright 2018-2025 Jesse Gallagher
4+
Portions (c) Copyright 2025 Serdar Basegmez
5+
6+
This product includes software contributed to
7+
OpenNTF Alliance (http://www.OpenNTF.org/)
8+
9+
This product is licensed under the terms of the Apache 2.0 license.

README.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ To use the tool from the command line, either add the OpenNTF Maven repository (
66

77
## Requirements
88

9-
- A Notes or Domino installation filesystem-accessible to the running computer
9+
- A Notes/Domino installation accessible on the running computer, or Domino Docker container/image on the local Docker daemon.
1010
- Maven 3+
1111
- Java 8+
1212

@@ -16,11 +16,11 @@ To use the tool from the command line, either add the OpenNTF Maven repository (
1616

1717
The tool performs several tasks to generate its result:
1818

19-
1. Copies the features and plugins from the `osgi/rcp/eclipe` and `osgi/shared/eclipse` directories, converting unpacked folder artifacts back into Jar files
19+
1. Copies the features and plugins from the `osgi/rcp/eclipe` and `osgi/shared/eclipse` directories, converting unpacked folder artifacts back into Jar files. In `dotsOnly` mode, it copies `osgi-dots/rcp/eclipse` and `osgi-dots/shared/eclipse` directories.
2020
2. If pointed to a Windows Notes installation directory, it will do the same with the `framework` directory, which contains UI-specific plugins
2121
3. Generates `com.ibm.notes.java.api` and `com.ibm.notes.java.api.win32.linux` bundles using Domino's Notes.jar with a version matching today's date, if needed
2222
4. Generates a `com.ibm.xsp.http.bootstrap` bundle in similar fashion, when the JAR is available in the source
23-
5. Downloads source bundles for open-source components found in Eclipse's Neon repository
23+
5. Downloads source bundles for open-source components found in Eclipse's compatible repository
2424
6. Creates a basic site.xml file
2525
7. Generates artifacts.jar and content.jar files
2626

@@ -55,14 +55,32 @@ Add the OpenNTF Maven server to your ~/.m2/settings.xml file. For example:
5555
Execute the plugin with properties to point to the base of your Domino installation and the target folder. For example:
5656

5757
```sh
58-
$ mvn org.openntf.p2:generate-domino-update-site:5.0.0:generateUpdateSite \
58+
$ mvn org.openntf.p2:generate-domino-update-site:6.0.0:generateUpdateSite \
5959
-Dsrc="/Volumes/C/Program Files/IBM/Domino" \
6060
-Ddest="/Users/someuser/Desktop/UpdateSite" \
61-
-DflattenEmbeds=false # optional
61+
-DflattenEmbeds=false # optional
62+
-DonlyDots=true # optional
6263
```
6364
- `src` is the location of Domino. On Windows, this might be "C:\Program Files\IBM\Domino". If unspecified, the Mojo will attempt to find a Domino or Notes installation based on common locations
6465
- `dest` is where you want to save it to. For the Extension Library, this was historically "C:\UpdateSite", but it can be anywhere
6566
- `flattenEmbeds` will look for embedded JARs named with Bundle-ClassPath and expand their contents out into the main bundle
67+
- `onlyDots` will generate an update site for DOTS plugins.
68+
69+
Alternatively, Docker container/image can be used to generate update site.
70+
71+
```sh
72+
$ mvn org.openntf.p2:generate-domino-update-site:6.0.0:generateUpdateSite \
73+
-DsrcContainer="domino-container" # Either srcContainer or srcImageId should be used
74+
-DsrcImageId="Domino:latest"
75+
-DdockerDominoDir="/opt/hcl/domino/notes/latest/linux"
76+
-Ddest="/Users/someuser/Desktop/UpdateSite" \
77+
-DflattenEmbeds=false # optional
78+
-DonlyDots=true # optional
79+
```
80+
81+
- `srcContainer` is the container to be used as the source. Will be ignored if an image id provided.
82+
- `srcImageId` is the image id to be used as the source. When given, mojo will create a temporary container with the image and remove when it's done.
83+
- `dockerDominoDir` is the directory to the domino installation inside the container. Default value (`/opt/hcl/domino/notes/latest/linux`) will be used if omitted. Mojo will pull necessary files to a temporary directory.
6684

6785
Note: the `flattenEmbeds` option strips signature files and makes no attempt to merge conflicts between same-named files. Accordingly, the result bundles may not behave the same way as their original versions.
6886

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,46 @@
1-
/target/
1+
target/
2+
!.mvn/wrapper/maven-wrapper.jar
3+
!**/src/main/**/target/
4+
!**/src/test/**/target/
5+
.env
6+
7+
### IntelliJ IDEA ###
8+
.idea/
9+
.idea/modules.xml
10+
.idea/jarRepositories.xml
11+
.idea/compiler.xml
12+
.idea/libraries/
13+
*.iws
14+
*.iml
15+
*.ipr
16+
17+
### Eclipse ###
18+
.apt_generated
19+
.classpath
20+
.factorypath
21+
.project
22+
.settings
23+
.springBeans
24+
.sts4-cache
25+
26+
### NetBeans ###
27+
/nbproject/private/
28+
/nbbuild/
29+
/dist/
30+
/nbdist/
31+
/.nb-gradle/
32+
build/
33+
!**/src/main/**/build/
34+
!**/src/test/**/build/
35+
36+
### VS Code ###
37+
.vscode/
38+
39+
### Mac OS ###
40+
.DS_Store
41+
42+
### Miscellaneous ###
43+
*.log
44+
*.log.*
45+
*.bak
46+

generate-domino-update-site/pom.xml

Lines changed: 71 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>org.openntf.p2</groupId>
55
<artifactId>generate-domino-update-site</artifactId>
6-
<version>5.1.0-SNAPSHOT</version>
6+
<version>6.0.0-SNAPSHOT</version>
77
<packaging>maven-plugin</packaging>
88

99
<name>generate-domino-update-site</name>
@@ -12,12 +12,27 @@
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313
<maven.compiler.source>1.8</maven.compiler.source>
1414
<maven.compiler.target>1.8</maven.compiler.target>
15-
15+
<maven.compiler.release>8</maven.compiler.release>
16+
1617
<!-- Maven API version. This version should be supported by m2e -->
17-
<maven.api.version>3.8.6</maven.api.version>
18+
<maven.api.version>3.9.9</maven.api.version>
19+
20+
<docker-java.version>3.4.2</docker-java.version>
21+
<maven-plugin-annotations.version>3.15.1</maven-plugin-annotations.version>
22+
<plexus-utils.version>3.6.0</plexus-utils.version>
23+
<com.ibm.commons.version>9.0.0</com.ibm.commons.version>
24+
<org.openntf.nsfodp.commons.version>4.0.5</org.openntf.nsfodp.commons.version>
25+
<org.eclipse.osgi.version>3.7.1</org.eclipse.osgi.version>
26+
<mojo-executor.version>2.4.1</mojo-executor.version>
27+
<tycho-osgi.version>3.13.0.v20180226-1711</tycho-osgi.version>
28+
<commons-lang3.version>3.17.0</commons-lang3.version>
29+
<commons-compress.version>1.27.1</commons-compress.version>
30+
<commons-io.version>2.18.0</commons-io.version>
31+
<xz.version>1.10</xz.version>
32+
<junit.version>5.12.0</junit.version>
1833
</properties>
1934

20-
<url>https://openntf.org/main.nsf/project.xsp?r=project/NSF%20ODP%20Tooling</url>
35+
<url>https://www.openntf.org/main.nsf/project.xsp?r=project/Domino%20Update%20Site%20Generator</url>
2136
<inceptionYear>2018</inceptionYear>
2237

2338
<licenses>
@@ -36,7 +51,7 @@
3651
<url>https://artifactory.openntf.org/openntf</url>
3752
</repository>
3853
</distributionManagement>
39-
54+
4055
<repositories>
4156
<repository>
4257
<id>artifactory.openntf.org</id>
@@ -57,101 +72,112 @@
5772
<groupId>org.apache.maven</groupId>
5873
<artifactId>maven-plugin-api</artifactId>
5974
<version>${maven.api.version}</version>
75+
<scope>provided</scope>
6076
</dependency>
6177
<dependency>
6278
<groupId>org.apache.maven</groupId>
6379
<artifactId>maven-core</artifactId>
6480
<version>${maven.api.version}</version>
65-
</dependency>
66-
<dependency>
67-
<groupId>org.apache.maven</groupId>
68-
<artifactId>maven-project</artifactId>
69-
<version>2.2.1</version>
81+
<scope>provided</scope>
7082
</dependency>
7183
<dependency>
7284
<groupId>org.apache.maven.plugin-tools</groupId>
7385
<artifactId>maven-plugin-annotations</artifactId>
74-
<version>3.7.1</version>
86+
<version>${maven-plugin-annotations.version}</version>
7587
<scope>provided</scope>
7688
</dependency>
7789
<dependency>
7890
<groupId>org.codehaus.plexus</groupId>
7991
<artifactId>plexus-utils</artifactId>
80-
<version>3.5.0</version>
92+
<version>${plexus-utils.version}</version>
8193
</dependency>
82-
94+
8395
<dependency>
84-
<groupId>com.ibm.sbt</groupId>
85-
<artifactId>com.ibm.commons</artifactId>
86-
<version>9.0.0</version>
96+
<groupId>com.ibm.sbt</groupId>
97+
<artifactId>com.ibm.commons</artifactId>
98+
<version>${com.ibm.commons.version}</version>
8799
</dependency>
88100
<dependency>
89101
<groupId>org.openntf.nsfodp</groupId>
90102
<artifactId>org.openntf.nsfodp.commons</artifactId>
91-
<version>3.9.0</version>
103+
<version>${org.openntf.nsfodp.commons.version}</version>
92104
</dependency>
93105
<dependency>
94106
<groupId>org.eclipse.osgi</groupId>
95107
<artifactId>org.eclipse.osgi</artifactId>
96-
<version>3.7.1</version>
108+
<version>${org.eclipse.osgi.version}</version>
97109
</dependency>
98-
99110
<dependency>
100111
<groupId>org.twdata.maven</groupId>
101112
<artifactId>mojo-executor</artifactId>
102-
<version>2.4.0</version>
103-
</dependency>
104-
105-
<dependency>
106-
<groupId>org.projectlombok</groupId>
107-
<artifactId>lombok</artifactId>
108-
<version>1.18.26</version>
109-
<scope>provided</scope>
113+
<version>${mojo-executor.version}</version>
110114
</dependency>
111-
112115
<dependency>
113116
<groupId>org.eclipse.tycho</groupId>
114117
<artifactId>org.eclipse.osgi</artifactId>
115-
<version>3.13.0.v20180226-1711</version>
118+
<version>${tycho-osgi.version}</version>
116119
</dependency>
117120
<dependency>
118121
<groupId>org.apache.commons</groupId>
119122
<artifactId>commons-lang3</artifactId>
120-
<version>3.12.0</version>
123+
<version>${commons-lang3.version}</version>
124+
</dependency>
125+
<dependency>
126+
<groupId>org.apache.commons</groupId>
127+
<artifactId>commons-compress</artifactId>
128+
<version>${commons-compress.version}</version>
129+
</dependency>
130+
<dependency>
131+
<groupId>commons-io</groupId>
132+
<artifactId>commons-io</artifactId>
133+
<version>${commons-io.version}</version>
121134
</dependency>
122135
<dependency>
123136
<groupId>org.tukaani</groupId>
124137
<artifactId>xz</artifactId>
125-
<version>1.9</version>
138+
<version>${xz.version}</version>
126139
</dependency>
127-
140+
128141
<dependency>
129142
<groupId>org.junit.jupiter</groupId>
130143
<artifactId>junit-jupiter-engine</artifactId>
131-
<version>5.9.2</version>
144+
<version>${junit.version}</version>
132145
<scope>test</scope>
133146
</dependency>
147+
148+
<dependency>
149+
<groupId>com.github.docker-java</groupId>
150+
<artifactId>docker-java-core</artifactId>
151+
<version>${docker-java.version}</version>
152+
</dependency>
153+
<dependency>
154+
<groupId>com.github.docker-java</groupId>
155+
<artifactId>docker-java-transport-httpclient5</artifactId>
156+
<version>${docker-java.version}</version>
157+
</dependency>
158+
134159
</dependencies>
135-
160+
136161
<prerequisites>
137162
<maven>3.0.1</maven>
138163
</prerequisites>
139-
164+
140165
<build>
141166
<plugins>
142167
<plugin>
143168
<groupId>org.apache.maven.plugins</groupId>
144169
<artifactId>maven-compiler-plugin</artifactId>
145-
<version>3.1</version>
170+
<version>3.14.0</version>
146171
</plugin>
147-
172+
148173
<plugin>
149174
<groupId>org.apache.maven.plugins</groupId>
150175
<artifactId>maven-plugin-plugin</artifactId>
151-
<version>3.5.1</version>
176+
<version>3.15.1</version>
152177
<configuration>
153178
<goalPrefix>generate-domino-update-site</goalPrefix>
154179
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
180+
155181
</configuration>
156182
<executions>
157183
<execution>
@@ -168,7 +194,7 @@
168194
</execution>
169195
</executions>
170196
</plugin>
171-
197+
172198

173199
<plugin>
174200
<groupId>com.mycila</groupId>
@@ -179,21 +205,21 @@
179205
<header>license.txt</header>
180206
<excludes>
181207
<exclude>pom.xml</exclude>
182-
<exclude>**/README</exclude>
183-
<exclude>src/test/resources/**</exclude>
184-
<exclude>src/main/resources/**</exclude>
208+
<exclude>**/README</exclude>
209+
<exclude>src/test/resources/**</exclude>
210+
<exclude>src/main/resources/**</exclude>
185211
</excludes>
186212
<properties>
187-
<owner>Jesse Gallagher</owner>
188-
<copyrightYear>2023</copyrightYear>
213+
<owner>Contributors to the generate-domino-update-site project</owner>
214+
<copyrightYear>2025</copyrightYear>
189215
</properties>
190216
</configuration>
191217
</plugin>
192218

193219
<plugin>
194220
<groupId>org.apache.maven.plugins</groupId>
195221
<artifactId>maven-enforcer-plugin</artifactId>
196-
<version>3.0.0-M1</version>
222+
<version>3.5.0</version>
197223
<executions>
198224
<execution>
199225
<id>enforce-maven-and-java</id>

0 commit comments

Comments
 (0)