Skip to content

Commit a8b17f4

Browse files
committed
feat: add Picocli library as an OSGi bundle
- Introduced build.properties to define included binaries. - Created pom.xml for managing dependencies and build configuration for Picocli. - Added MANIFEST.MF to define bundle metadata and classpath for the Picocli library.
1 parent da5b229 commit a8b17f4

File tree

4 files changed

+70
-0
lines changed

4 files changed

+70
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Manifest-Version: 1.0
2+
Bundle-ManifestVersion: 2
3+
Bundle-Vendor: DBeaver Corp
4+
Bundle-Name: Picocli
5+
Bundle-SymbolicName: picocli;singleton:=true
6+
Bundle-Version: 4.7.3.qualifier
7+
Bundle-RequiredExecutionEnvironment: JavaSE-17
8+
Bundle-ClassPath: .,
9+
lib/picocli.jar
10+
Export-Package: picocli;version="4.7.3",
11+
picocli.annotation;version="4.7.3"
12+
Automatic-Module-Name: picocli
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
bin.includes = .,\
2+
META-INF/,\
3+
lib/

server/bundles/picocli/pom.xml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
3+
xmlns="http://maven.apache.org/POM/4.0.0"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
5+
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>io.cloudbeaver</groupId>
8+
<artifactId>bundles</artifactId>
9+
<version>1.0.0-SNAPSHOT</version>
10+
<relativePath>../</relativePath>
11+
</parent>
12+
<artifactId>picocli</artifactId>
13+
<version>4.7.3-SNAPSHOT</version>
14+
<packaging>eclipse-plugin</packaging>
15+
<name>Picocli CLI Library</name>
16+
<description>OSGi wrapper for picocli (required by org.jkiss.dbeaver.model.cli)</description>
17+
18+
<properties>
19+
<picocli.version>4.7.3</picocli.version>
20+
</properties>
21+
22+
<dependencies>
23+
<dependency>
24+
<groupId>info.picocli</groupId>
25+
<artifactId>picocli</artifactId>
26+
<version>${picocli.version}</version>
27+
</dependency>
28+
</dependencies>
29+
30+
<build>
31+
<plugins>
32+
<plugin>
33+
<groupId>org.apache.maven.plugins</groupId>
34+
<artifactId>maven-dependency-plugin</artifactId>
35+
<version>3.6.0</version>
36+
<executions>
37+
<execution>
38+
<id>copy-picocli</id>
39+
<phase>generate-resources</phase>
40+
<goals>
41+
<goal>copy-dependencies</goal>
42+
</goals>
43+
<configuration>
44+
<includeArtifactIds>picocli</includeArtifactIds>
45+
<outputDirectory>${project.basedir}/lib</outputDirectory>
46+
<stripVersion>true</stripVersion>
47+
<stripClassifier>true</stripClassifier>
48+
</configuration>
49+
</execution>
50+
</executions>
51+
</plugin>
52+
</plugins>
53+
</build>
54+
</project>

server/bundles/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
<packaging>pom</packaging>
1414

1515
<modules>
16+
<module>picocli</module>
1617
<module>io.cloudbeaver.model</module>
1718
<module>io.cloudbeaver.server</module>
1819
<module>io.cloudbeaver.server.ce</module>

0 commit comments

Comments
 (0)