[Git][java-team/hawtjni][upstream] New upstream version 1.18
Emmanuel Bourg (@ebourg)
gitlab at salsa.debian.org
Thu May 5 12:07:24 BST 2022
Emmanuel Bourg pushed to branch upstream at Debian Java Maintainers / hawtjni
Commits:
e8db348d by Emmanuel Bourg at 2022-05-05T12:42:59+02:00
New upstream version 1.18
- - - - -
25 changed files:
- .travis.yml
- changelog.md
- hawtjni-example/pom.xml
- hawtjni-example/src/main/java/test/Example.java
- hawtjni-example/src/main/java/test/ObjectiveCExample.java
- hawtjni-example/src/main/native-package/src/foo.c → hawtjni-example/src/main/native-package/src/foo.cpp
- hawtjni-example/src/main/native-package/src/foo.h
- hawtjni-example/src/main/native-package/src/hawtjni-example.h
- hawtjni-generator/pom.xml
- hawtjni-generator/src/main/java/org/fusesource/hawtjni/generator/StructsGenerator.java
- hawtjni-generator/src/main/java/org/fusesource/hawtjni/generator/model/JNIField.java
- hawtjni-generator/src/main/java/org/fusesource/hawtjni/generator/model/ReflectField.java
- hawtjni-maven-plugin/pom.xml
- hawtjni-maven-plugin/src/main/resources/project-template/Makefile.am
- hawtjni-maven-plugin/src/main/resources/project-template/m4/jni.m4
- hawtjni-maven-plugin/src/main/resources/project-template/m4/osx-universal.m4
- hawtjni-runtime/pom.xml
- hawtjni-runtime/src/main/java/org/fusesource/hawtjni/runtime/FieldFlag.java
- hawtjni-runtime/src/main/java/org/fusesource/hawtjni/runtime/Library.java
- hawtjni-runtime/src/main/java/org/fusesource/hawtjni/runtime/NativeStats.java
- hawtjni-website/ext/Website.scala
- hawtjni-website/pom.xml
- hawtjni-website/src/documentation/developer-guide.md
- pom.xml
- readme.md
Changes:
=====================================
.travis.yml
=====================================
@@ -1,2 +1,11 @@
language: java
+jobs:
+ include:
+ - arch: amd64
+ - arch: ppc64le
+ before_install:
+ - mkdir -p /opt/maven
+ - curl https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz|tar -xz --strip 1 -C /opt/maven
+ - export MAVEN_HOME=/opt/maven
+ - export PATH=${MAVEN_HOME}/bin:${PATH}
after_failure: print_surefire_reports.sh
=====================================
changelog.md
=====================================
@@ -1,5 +1,23 @@
# ![HawtJNI](http://fusesource.github.io/hawtjni/images/project-logo.png)
+## HawtJNI 1.18, released 2020-10-21
+
+* [`84606da`](https://github.com/fusesource/hawtjni/commit/84606dacef9bced4d21c2d47bb641b2737738ceb) Bump junit from 4.13 to 4.13.1 in /hawtjni-example
+* [`de46737`](https://github.com/fusesource/hawtjni/commit/de4673789a0f0892516450f837c301f5e81246d0) Merge pull request #70 from Siddhesh-Ghadi/ci-power
+* [`c06f662`](https://github.com/fusesource/hawtjni/commit/c06f662b9e7ef74dd98bf73f9458cae7a3f5fd86) Add ppc64le support on travis-ci
+* [`2976527`](https://github.com/fusesource/hawtjni/commit/2976527a43ec256c98c383110d436bba7aff8c9c) Add doc to setup the native build environment macOS
+* [`c00e2d2`](https://github.com/fusesource/hawtjni/commit/c00e2d22b4dfa105d31754bf044874845d7cacb5) Support for shared pointers, fixes #57
+* [`5b4e5ad`](https://github.com/fusesource/hawtjni/commit/5b4e5ad74e63f1c1c180b2169eedd20c9b64e716) Merge pull request #59 from voutilad/master
+* [`8678713`](https://github.com/fusesource/hawtjni/commit/8678713caf00652f4f7d52e36b8b384cf611dde5) Merge pull request #61 from remkop/master
+* [`d145a1d`](https://github.com/fusesource/hawtjni/commit/d145a1dea37bbd8f98c9f1e6f21d756f849d7979) Do not force JDK 11 but rather support it
+* [`8ee5b21`](https://github.com/fusesource/hawtjni/commit/8ee5b2113069399c79610a1de6e01af7d5ae8c45) Updated to work with JDK11
+* [`d1f1492`](https://github.com/fusesource/hawtjni/commit/d1f14926156d103357e7761c4182085b27e7c663) Fix example on OSX
+* [`b7277af`](https://github.com/fusesource/hawtjni/commit/b7277aff8f3b01c1c462ede437efb3a4a33973ff) prepare 1.17 release website
+* [`56b5bd0`](https://github.com/fusesource/hawtjni/commit/56b5bd0dd3e9a3091905cf262dbe232b65447e07) use hawtjni-maven-plugin for Maven Central badge
+* [`c14fec0`](https://github.com/fusesource/hawtjni/commit/c14fec00b9976ff6b84e62e483d678594a7d3832) Support for OSX Catalina
+* [`2c64ed4`](https://github.com/fusesource/hawtjni/commit/2c64ed4134de9b3cefd9423382a59f60c8f3ad25) jansi/#162 fix issue where bitModel could not be retrieved on GraalVM
+* [`e7806ff`](https://github.com/fusesource/hawtjni/commit/e7806ff89508fce6a61c300ea9a16992324c0ce1) support for OpenBSD
+
## HawtJNI 1.17, released 2019-04-03
* [`1c4a17b`](https://github.com/fusesource/hawtjni/commit/1c4a17b31bf988f99df6da7085f86829b935c342) Remove shared_ptr support until it's working
=====================================
hawtjni-example/pom.xml
=====================================
@@ -16,66 +16,56 @@
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>
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-project</artifactId>
- <version>1.17</version>
- </parent>
+ <parent>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-project</artifactId>
+ <version>1.18</version>
+ </parent>
- <artifactId>hawtjni-example</artifactId>
- <name>HawtJNI Example</name>
+ <artifactId>hawtjni-example</artifactId>
+ <name>HawtJNI Example</name>
- <dependencies>
- <dependency>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-runtime</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.14</version>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
+ <dependencies>
+ <dependency>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-runtime</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.13.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>1.2.17</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
- <build>
- <plugins>
-
- <!-- the older clean plugin has trouble deleting directories with symlinks in them -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.0.0</version>
- </plugin>
-
- <plugin>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-maven-plugin</artifactId>
- <version>${project.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- <goal>build</goal>
- <goal>package-jar</goal>
- <goal>package-source</goal>
- </goals>
- <configuration>
- <downloadUrl><![CDATA[
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-maven-plugin</artifactId>
+ <version>${project.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate</goal>
+ <goal>build</goal>
+ <goal>package-jar</goal>
+ <goal>package-source</goal>
+ </goals>
+ <configuration>
+ <downloadUrl><![CDATA[
http://repo.fusesource.com/nexus/service/local/artifact/maven/redirect?r=snapshots&g=${project.groupId}&a=${project.artifactId}&v=${project.version}&c=native-src&e=zip
]]></downloadUrl>
- <copyright><![CDATA[
+ <copyright><![CDATA[
/*******************************************************************************
* Copyright (C) 2009-2011 FuseSource Corp.
*
@@ -85,65 +75,74 @@
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
]]></copyright>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
- <!-- include all the dependencies into the jar so it can run standalone -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>3.0.0</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <artifactSet>
- <excludes>
- <exclude>junit:junit</exclude>
- </excludes>
- </artifactSet>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
- </build>
+ <!-- include all the dependencies into the jar so it can run standalone -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>3.2.3</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <artifactSet>
+ <excludes>
+ <exclude>junit:junit</exclude>
+ </excludes>
+ </artifactSet>
+ <filters>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>META-INF/MANIFEST.MF</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
- <profiles>
+ <profiles>
- <!-- Profile which enables Universal binaries on OS X -->
- <profile>
- <id>mac</id>
- <activation>
- <os><family>mac</family></os>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-maven-plugin</artifactId>
- <configuration>
- <osgiPlatforms>
- <osgiPlatform>osname=MacOS;processor=x86-64</osgiPlatform>
- <osgiPlatform>osname=MacOS;processor=x86</osgiPlatform>
- <osgiPlatform>*</osgiPlatform>
- </osgiPlatforms>
- <configureArgs>
- <arg>--with-universal</arg>
- </configureArgs>
- <platform>osx</platform>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
+ <!-- Profile which enables Universal binaries on OS X -->
+ <profile>
+ <id>mac</id>
+ <activation>
+ <os>
+ <family>mac</family>
+ </os>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-maven-plugin</artifactId>
+ <configuration>
+ <osgiPlatforms>
+ <osgiPlatform>osname=MacOS;processor=x86-64</osgiPlatform>
+ <osgiPlatform>osname=MacOS;processor=x86</osgiPlatform>
+ <osgiPlatform>*</osgiPlatform>
+ </osgiPlatforms>
+ <configureArgs>
+ <arg>--with-universal</arg>
+ </configureArgs>
+ <platform>osx</platform>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
=====================================
hawtjni-example/src/main/java/test/Example.java
=====================================
@@ -88,6 +88,7 @@ public class Example {
public static int O_WRONLY;
@JniField(flags={CONSTANT})
public static int O_RDWR;
+
@JniMethod(cast="void *")
public static final native long malloc(
@@ -225,6 +226,9 @@ public class Example {
@JniField(getter = "get_d()", setter = "set_d()", flags = { GETTER_NONMEMBER, SETTER_NONMEMBER })
private float d;
+ @JniField(getter = "get_sp()", setter = "set_sp()", flags={ SHARED_PTR, GETTER_NONMEMBER, SETTER_NONMEMBER })
+ private long CheckStr;
+
@Override
public int hashCode() {
final int prime = 31;
=====================================
hawtjni-example/src/main/java/test/ObjectiveCExample.java
=====================================
@@ -58,13 +58,13 @@ public class ObjectiveCExample {
@JniMethod(cast="id", flags={POINTER_RETURN})
public static final native long objc_getClass(String className);
- @JniMethod(cast="id", flags={POINTER_RETURN}, accessor="objc_msgSend")
+ @JniMethod(cast="id", flags={POINTER_RETURN}, accessor="reinterpret_cast<id (*)(id, SEL)> (objc_msgSend)")
public static final native long $(
@JniArg(cast="id", flags={POINTER_ARG})long id,
@JniArg(cast="SEL", flags={POINTER_ARG})long sel
);
- @JniMethod(cast="id", flags={POINTER_RETURN}, accessor="objc_msgSend")
+ @JniMethod(cast="id", flags={POINTER_RETURN}, accessor="reinterpret_cast<id (*)(id, SEL, const char*)> (objc_msgSend)")
public static final native long $(
@JniArg(cast="id", flags={POINTER_ARG})long id,
@JniArg(cast="SEL", flags={POINTER_ARG})long sel,
=====================================
hawtjni-example/src/main/native-package/src/foo.c → hawtjni-example/src/main/native-package/src/foo.cpp
=====================================
@@ -15,8 +15,14 @@ float get_d(struct foo *arg) {
void set_d(struct foo *arg, float d) {
}
+std::shared_ptr<intptr_t> get_sp(long CheckStr) {
+ return std::make_shared<intptr_t> (CheckStr);
+}
+void set_sp(struct foo *arg, std::shared_ptr<intptr_t> ptr) {
+}
+
void print_foo(struct foo *arg) {
- printf("foo@%p: { a: %d, b: %d, c: \"%s\", prev: @%p, d: %f}\n", arg, arg->a, (int)arg->b, arg->c, arg->prev, get_d(arg));
+ printf("foo@%p: { a: %d, b: %d, c: \"%s\", prev: @%p, d: %f, Checkstr: %p}\n", arg, arg->a, (int)arg->b, arg->c, arg->prev, get_d(arg), get_sp(arg->CheckStr).get());
}
long foowork(struct foo **arg, int count) {
@@ -35,13 +41,13 @@ void callmeback(void (*thecallback)(int number)) {
}
struct foo * foo_add(struct foo *arg, int count) {
- return arg+count;
+ return arg+count;
}
char * char_add(char *arg, int count) {
- return arg+count;
+ return arg+count;
}
void passingtheenv (const char *who, JNIEnv *env) {
- printf("%s, the JNIEnv is at: %x\n", who, env);
+ printf("%s, the JNIEnv is at: %p\n", who, env);
}
=====================================
hawtjni-example/src/main/native-package/src/foo.h
=====================================
@@ -10,6 +10,7 @@
#define INCLUDED_FOO_H
#include <stdlib.h>
+#include <memory>
#include "jni.h"
#ifdef __cplusplus
@@ -18,9 +19,10 @@ extern "C" {
struct foo {
int a;
- size_t b;
- char c[20];
+ size_t b;
+ char c[20];
struct foo *prev;
+ long CheckStr;
};
typedef struct _point {
@@ -55,4 +57,7 @@ void passingtheenv (const char *who, JNIEnv *env);
} /* extern "C" */
#endif
+std::shared_ptr<intptr_t> get_sp(long CheckStr);
+void set_sp(struct foo *arg, std::shared_ptr<intptr_t>);
+
#endif /* INCLUDED_FOO_H */
=====================================
hawtjni-example/src/main/native-package/src/hawtjni-example.h
=====================================
@@ -19,7 +19,7 @@
#define HAVE_STRINGS_H 1
#endif
#endif
-
+#include <memory>
#ifdef __APPLE__
#import <objc/objc-runtime.h>
#endif
=====================================
hawtjni-generator/pom.xml
=====================================
@@ -16,82 +16,96 @@
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>
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-project</artifactId>
- <version>1.17</version>
- </parent>
+ <parent>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-project</artifactId>
+ <version>1.18</version>
+ </parent>
- <artifactId>hawtjni-generator</artifactId>
+ <artifactId>hawtjni-generator</artifactId>
- <name>HawtJNI Generator</name>
- <description>This module contains the JNI code generation tools.</description>
+ <name>HawtJNI Generator</name>
+ <description>This module contains the JNI code generation tools.</description>
- <dependencies>
- <dependency>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-runtime</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <artifactId>xbean-finder</artifactId>
- <groupId>org.apache.xbean</groupId>
- <version>4.2</version>
- </dependency>
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
- <version>5.0.3</version>
- </dependency>
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm-commons</artifactId>
- <version>5.0.3</version>
- </dependency>
-
- <!--
- <dependency>
- <groupId>com.thoughtworks.paranamer</groupId>
- <artifactId>paranamer-generator</artifactId>
- <version>2.1</version>
- </dependency>
- -->
-
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.0</version>
- </dependency>
- </dependencies>
+ <dependencies>
+ <dependency>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-runtime</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <artifactId>xbean-finder</artifactId>
+ <groupId>org.apache.xbean</groupId>
+ <version>4.16</version>
+ </dependency>
+ <dependency>
+ <groupId>org.ow2.asm</groupId>
+ <artifactId>asm</artifactId>
+ <version>8.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.ow2.asm</groupId>
+ <artifactId>asm-commons</artifactId>
+ <version>8.0.1</version>
+ </dependency>
+ <!--
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.10</version>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
- <build>
- <plugins>
-
- <!-- include all the dependencies into the jar so it can run standalone -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>3.0.0</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <artifactSet>
- <excludes>
- <exclude>junit:junit</exclude>
- </excludes>
- </artifactSet>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
- </build>
-
+ <build>
+ <plugins>
+ <!-- include all the dependencies into the jar so it can run standalone -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>3.2.3</version>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <artifactSet>
+ <excludes>
+ <exclude>junit:junit</exclude>
+ </excludes>
+ </artifactSet>
+ <filters>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>META-INF/DEPENDENCIES</exclude>
+ <exclude>META-INF/LICENSE*</exclude>
+ <exclude>META-INF/NOTICE</exclude>
+ <exclude>META-INF/MANIFEST.MF</exclude>
+ <exclude>module-info.class</exclude>
+ </excludes>
+ </filter>
+ <filter>
+ <artifact>org.apache.xbean:xbean-finder</artifact>
+ <excludes>
+ <exclude>org/apache/xbean/asm7/original/commons/AsmConstants.class</exclude>
+ <exclude>org/apache/xbean/asm7/original/commons/EmptyVisitor*</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
=====================================
hawtjni-generator/src/main/java/org/fusesource/hawtjni/generator/StructsGenerator.java
=====================================
@@ -43,11 +43,11 @@ public class StructsGenerator extends JNIGenerator {
public void generateIncludes() {
if (header) {
- outputln("#include \""+getOutputName()+".h\"");
+ outputln("#include \"" + getOutputName() + ".h\"");
} else {
- outputln("#include \""+getOutputName()+".h\"");
+ outputln("#include \"" + getOutputName() + ".h\"");
outputln("#include \"hawtjni.h\"");
- outputln("#include \""+getOutputName()+"_structs.h\"");
+ outputln("#include \"" + getOutputName() + "_structs.h\"");
}
outputln();
}
@@ -100,13 +100,13 @@ public class StructsGenerator extends JNIGenerator {
void generateSourceStart(JNIClass clazz) {
String conditional = clazz.getConditional();
- if (conditional!=null) {
- outputln("#if "+conditional);
+ if (conditional != null) {
+ outputln("#if " + conditional);
}
}
void generateSourceEnd(JNIClass clazz) {
- if (clazz.getConditional()!=null) {
+ if (clazz.getConditional() != null) {
outputln("#endif");
}
}
@@ -120,11 +120,11 @@ public class StructsGenerator extends JNIGenerator {
}
void generateBlankMacros(JNIClass clazz) {
-
- if (clazz.getConditional()==null) {
+
+ if (clazz.getConditional() == null) {
return;
}
-
+
String simpleName = clazz.getSimpleName();
outputln("#else");
output("#define cache");
@@ -278,16 +278,18 @@ public class StructsGenerator extends JNIGenerator {
}
}
List<JNIField> fields = clazz.getDeclaredFields();
+ int sharePtrIndex = 0;
for (JNIField field : fields) {
if (ignoreField(field))
continue;
String conditional = field.getConditional();
- if (conditional!=null) {
- outputln("#if "+conditional);
+ if (conditional != null) {
+ outputln("#if " + conditional);
}
JNIType type = field.getType(), type64 = field.getType64();
String simpleName = type.getSimpleName();
JNIFieldAccessor accessor = field.getAccessor();
+ boolean allowConversion = !type.equals(type64);
output("\t");
if (type.isPrimitive()) {
if (!accessor.isNonMemberSetter())
@@ -301,7 +303,11 @@ public class StructsGenerator extends JNIGenerator {
output(accessor.setter());
output(" = ");
}
- output(field.getCast());
+ if (field.isSharedPointer())
+ output("std::make_shared<" + type.getTypeSignature2(allowConversion) + ">(");
+ else
+ output(field.getCast());
+
if (field.isPointer()) {
output("(intptr_t)");
}
@@ -319,12 +325,19 @@ public class StructsGenerator extends JNIGenerator {
output(field.getDeclaringClass().getSimpleName());
output("Fc.");
output(field.getName());
+ if (field.isSharedPointer())
+ output(")");
if (accessor.isMethodSetter())
output(")");
output(");");
} else if (type.isArray()) {
JNIType componentType = type.getComponentType(), componentType64 = type64.getComponentType();
if (componentType.isPrimitive()) {
+ if (field.isSharedPointer()) {
+ output("(&");
+ output("lpStruct->" + accessor);
+ output("));");
+ }
outputln("{");
output("\t");
output(type.getTypeSignature2(!type.equals(type64)));
@@ -389,7 +402,7 @@ public class StructsGenerator extends JNIGenerator {
output("\t}");
}
outputln();
- if (conditional!=null) {
+ if (conditional != null) {
outputln("#endif");
}
}
@@ -416,8 +429,8 @@ public class StructsGenerator extends JNIGenerator {
output("Fc.cached) cache");
output(simpleName);
outputln("Fields(env, lpObject);");
- if( clazz.getFlag(ClassFlag.ZERO_OUT) ) {
- outputln("memset(lpStruct, 0, sizeof(struct "+clazzName+"));");
+ if (clazz.getFlag(ClassFlag.ZERO_OUT)) {
+ outputln("memset(lpStruct, 0, sizeof(struct " + clazzName + "));");
}
generateGetFields(clazz);
outputln("\treturn lpStruct;");
@@ -448,12 +461,12 @@ public class StructsGenerator extends JNIGenerator {
if (ignoreField(field))
continue;
String conditional = field.getConditional();
- if (conditional!=null) {
- outputln("#if "+conditional);
+ if (conditional != null) {
+ outputln("#if " + conditional);
}
JNIType type = field.getType(), type64 = field.getType64();
boolean allowConversion = !type.equals(type64);
-
+
String simpleName = type.getSimpleName();
JNIFieldAccessor accessor = field.getAccessor();
if (type.isPrimitive()) {
@@ -472,8 +485,8 @@ public class StructsGenerator extends JNIGenerator {
output("Fc.");
output(field.getName());
output(", ");
- output("("+type.getTypeSignature2(allowConversion)+")");
- if( field.isPointer() ) {
+ output("(" + type.getTypeSignature2(allowConversion) + ")");
+ if (field.isPointer()) {
output("(intptr_t)");
}
if (!accessor.isNonMemberGetter())
@@ -483,10 +496,15 @@ public class StructsGenerator extends JNIGenerator {
output(getterStart + "(");
if (accessor.isNonMemberGetter())
output("lpStruct");
+ if (field.isSharedPointer())
+ output("->" + field.getName());
output(")");
} else {
output(accessor.getter());
}
+ if (field.isSharedPointer()) {
+ output(".get()");
+ }
output(");");
} else if (type.isArray()) {
JNIType componentType = type.getComponentType(), componentType64 = type64.getComponentType();
@@ -563,7 +581,7 @@ public class StructsGenerator extends JNIGenerator {
output("\t}");
}
outputln();
- if (conditional!=null) {
+ if (conditional != null) {
outputln("#endif");
}
}
@@ -610,3 +628,4 @@ public class StructsGenerator extends JNIGenerator {
}
}
+
=====================================
hawtjni-generator/src/main/java/org/fusesource/hawtjni/generator/model/JNIField.java
=====================================
@@ -32,5 +32,6 @@ public interface JNIField {
public String getConditional();
public boolean ignore();
+ public boolean isSharedPointer();
public boolean isPointer();
}
=====================================
hawtjni-generator/src/main/java/org/fusesource/hawtjni/generator/model/ReflectField.java
=====================================
@@ -13,7 +13,6 @@ package org.fusesource.hawtjni.generator.model;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.HashSet;
-
import org.apache.commons.lang.StringUtils;
import org.fusesource.hawtjni.runtime.FieldFlag;
import org.fusesource.hawtjni.runtime.JniField;
@@ -100,6 +99,13 @@ public class ReflectField implements JNIField {
return getFlag(POINTER_FIELD) || ( type.getWrappedClass() == Long.TYPE && getCast().endsWith("*") );
}
+ public boolean isSharedPointer() {
+ if (annotation == null) {
+ return false;
+ }
+ return getFlag(SHARED_PTR);
+ }
+
public String getConditional() {
String parentConditional = getDeclaringClass().getConditional();
String myConditional = annotation == null ? null : emptyFilter(annotation.conditional());
=====================================
hawtjni-maven-plugin/pom.xml
=====================================
@@ -16,153 +16,153 @@
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>
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-project</artifactId>
- <version>1.17</version>
- </parent>
+ <parent>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-project</artifactId>
+ <version>1.18</version>
+ </parent>
- <artifactId>hawtjni-maven-plugin</artifactId>
- <packaging>maven-plugin</packaging>
+ <artifactId>hawtjni-maven-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
- <name>HawtJNI Maven Plugin</name>
- <description>Use HawtJNI from a maven plugin</description>
+ <name>HawtJNI Maven Plugin</name>
+ <description>Use HawtJNI from a maven plugin</description>
- <prerequisites>
- <maven>${mavenVersion}</maven>
- </prerequisites>
+ <prerequisites>
+ <maven>${mavenVersion}</maven>
+ </prerequisites>
- <properties>
- <mavenVersion>2.0.6</mavenVersion>
- <currentVersion>${project.version}</currentVersion>
- </properties>
+ <properties>
+ <mavenVersion>3.6.3</mavenVersion>
+ <currentVersion>${project.version}</currentVersion>
+ </properties>
- <dependencies>
- <dependency>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-generator</artifactId>
- <version>${project.version}</version>
- </dependency>
+ <dependencies>
+ <dependency>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-generator</artifactId>
+ <version>${project.version}</version>
+ </dependency>
- <!-- Maven -->
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>${mavenVersion}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
- <version>${mavenVersion}</version>
- </dependency>
+ <!-- Maven -->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${mavenVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>2.0.11</version>
+ </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- <version>1.5.15</version>
- </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>3.3.0</version>
+ </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-interpolation</artifactId>
- <version>1.12</version>
- </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>1.26</version>
+ </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact-manager</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
- <version>2.0</version>
- </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact-manager</artifactId>
+ <version>2.0.11</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.11</version>
+ </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-archiver</artifactId>
- <version>2.4</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-archiver</artifactId>
- <version>1.0-alpha-9</version>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-io</artifactId>
- <version>1.0-alpha-1</version>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-container-default</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-archiver</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-archiver</artifactId>
+ <version>4.2.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-io</artifactId>
+ <version>3.2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
- <dependency>
- <groupId>org.apache.maven.plugin-tools</groupId>
- <artifactId>maven-plugin-annotations</artifactId>
- <version>3.5</version>
- <scope>provided</scope><!-- annotations are needed only to build the plugin -->
- </dependency>
+ <dependency>
+ <groupId>org.apache.maven.plugin-tools</groupId>
+ <artifactId>maven-plugin-annotations</artifactId>
+ <version>3.6.0</version>
+ <scope>provided</scope><!-- annotations are needed only to build the plugin -->
+ </dependency>
- </dependencies>
+ </dependencies>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-plugin-plugin</artifactId>
- <version>3.5</version>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-plugin-plugin</artifactId>
- <executions>
- <execution>
- <id>default-descriptor</id>
- <phase>process-classes</phase>
- </execution>
- <!-- if you want to generate help goal -->
- <execution>
- <id>help-goal</id>
- <goals>
- <goal>helpmojo</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>3.6.0</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default-descriptor</id>
+ <phase>process-classes</phase>
+ </execution>
+ <!-- if you want to generate help goal -->
+ <execution>
+ <id>help-goal</id>
+ <goals>
+ <goal>helpmojo</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-plugin-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugin-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
</project>
=====================================
hawtjni-maven-plugin/src/main/resources/project-template/Makefile.am
=====================================
@@ -17,6 +17,8 @@
ACLOCAL_AMFLAGS = -I m4
+AM_CXXFLAGS = -std=gnu++11
+
lib_LTLIBRARIES = lib at PROJECT_NAME@.la
# lib at PROJECT_NAME_UNDER_SCORE@_la_CFLAGS =
#lib at PROJECT_NAME_UNDER_SCORE@_la_LDFLAGS =
=====================================
hawtjni-maven-plugin/src/main/resources/project-template/m4/jni.m4
=====================================
@@ -110,6 +110,7 @@ AC_DEFUN([CHECK_JNI_JDK],[
darwin*) __JNI_INCLUDE_EXTRAS="darwin";;
freebsd*) __JNI_INCLUDE_EXTRAS="freebsd";;
linux*) __JNI_INCLUDE_EXTRAS="linux genunix";;
+ openbsd*) __JNI_INCLUDE_EXTRAS="openbsd";;
osf*) __JNI_INCLUDE_EXTRAS="alpha";;
solaris*) __JNI_INCLUDE_EXTRAS="solaris";;
mingw*) __JNI_INCLUDE_EXTRAS="win32";;
=====================================
hawtjni-maven-plugin/src/main/resources/project-template/m4/osx-universal.m4
=====================================
@@ -53,7 +53,7 @@ AC_DEFUN([WITH_OSX_UNIVERSAL],
],[
OSX_SDKS_DIR=""
OSX_VERSION=""
- for v in 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14; do
+ for v in 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15; do
for location in "/Developer/SDKs" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs" ; do
if test -z "${OSX_VERSION}" && test -d "${location}/MacOSX${v}.sdk" ; then
OSX_SDKS_DIR="${location}"
=====================================
hawtjni-runtime/pom.xml
=====================================
@@ -16,44 +16,44 @@
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>
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-project</artifactId>
- <version>1.17</version>
- </parent>
+ <parent>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-project</artifactId>
+ <version>1.18</version>
+ </parent>
- <artifactId>hawtjni-runtime</artifactId>
- <name>HawtJNI Runtime</name>
- <description>The API that projects using HawtJNI should build against.</description>
+ <artifactId>hawtjni-runtime</artifactId>
+ <name>HawtJNI Runtime</name>
+ <description>The API that projects using HawtJNI should build against.</description>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestEntries>
- <Automatic-Module-Name>org.fusesource.hawtjni.runtime</Automatic-Module-Name>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Automatic-Module-Name>org.fusesource.hawtjni.runtime</Automatic-Module-Name>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
=====================================
hawtjni-runtime/src/main/java/org/fusesource/hawtjni/runtime/FieldFlag.java
=====================================
@@ -32,6 +32,12 @@ public enum FieldFlag {
*/
POINTER_FIELD,
+ /**
+ * Indicate that the field is a shared pointer.
+ */
+
+ SHARED_PTR,
+
/**
* Indicate that the getter method used is not part of
* the structure. Useful for using wrappers to access
=====================================
hawtjni-runtime/src/main/java/org/fusesource/hawtjni/runtime/Library.java
=====================================
@@ -29,7 +29,6 @@ import java.util.Set;
* <li> "<code>${platform}/${arch}</code>"
* <li> "<code>${platform}</code>"
* <li> "<code>${os}</code>"
- * <li> "<code></code>"
* </ol>
* for 2 namings of the library:
* <ol>
@@ -172,6 +171,11 @@ public class Library {
if( prop!=null ) {
return Integer.parseInt(prop);
}
+ // GraalVM support, see https://github.com/fusesource/jansi/issues/162
+ String arch = System.getProperty("os.arch");
+ if (arch.endsWith("64") && "Substrate VM".equals(System.getProperty("java.vm.name"))) {
+ return 64;
+ }
return -1; // we don't know..
}
=====================================
hawtjni-runtime/src/main/java/org/fusesource/hawtjni/runtime/NativeStats.java
=====================================
@@ -159,7 +159,7 @@ public class NativeStats {
/**
* Dumps the stats to the print stream in a JSON format.
- * @param ps
+ * @param ps Print stream.
*/
public void dump(PrintStream ps) {
boolean firstSI=true;
=====================================
hawtjni-website/ext/Website.scala
=====================================
@@ -34,10 +34,11 @@ object Website {
val project_forums_url= "http://groups.google.com/group/hawtjni"
val project_wiki_url= "https://github.com/fusesource/hawtjni/wiki"
val project_logo= "/images/project-logo.png"
- val project_version= "1.16"
- val project_snapshot_version= "1.17-SNAPSHOT"
+ val project_version= "1.17"
+ val project_snapshot_version= "1.18-SNAPSHOT"
val project_versions = List(
project_version,
+ "1.16",
"1.15",
"1.14",
"1.13",
@@ -67,4 +68,4 @@ object Website {
val project_maven_artifactId= "hawtjni-runtime"
val website_base_url= "http://fusesource.github.io/hawtjni/"
-}
\ No newline at end of file
+}
=====================================
hawtjni-website/pom.xml
=====================================
@@ -22,7 +22,7 @@
<parent>
<groupId>org.fusesource.hawtjni</groupId>
<artifactId>hawtjni-project</artifactId>
- <version>1.16</version>
+ <version>1.17</version>
</parent>
<artifactId>hawtjni-website</artifactId>
=====================================
hawtjni-website/src/documentation/developer-guide.md
=====================================
@@ -794,6 +794,22 @@ agnostic source package for building the native library.
## Platform Build Tools Requirements
+### macOS
+
+Use brew to install the necessary tools:
+
+ brew install automake autoconf libtool gcc
+
+Make sure the GCC compiler is used by default:
+
+ cd /usr/local/bin
+ ln -s c++-9 c++
+ ln -s cpp-9 cpp
+ ln -s g++-9 g++
+ ln -s gcc-9 gcc
+ export PATH=/usr/local/bin:$PATH
+ rehash
+
### Windows
Download and install the free [Microsoft Windows SDK][ms_sdk]. The SDK includes
=====================================
pom.xml
=====================================
@@ -16,216 +16,226 @@
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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
+ <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.fusesource</groupId>
- <artifactId>fusesource-pom</artifactId>
- <version>1.11</version>
- </parent>
+ <parent>
+ <groupId>org.fusesource</groupId>
+ <artifactId>fusesource-pom</artifactId>
+ <version>1.12</version>
+ </parent>
- <groupId>org.fusesource.hawtjni</groupId>
- <artifactId>hawtjni-project</artifactId>
- <version>1.17</version>
- <packaging>pom</packaging>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>hawtjni-project</artifactId>
+ <version>1.18</version>
+ <packaging>pom</packaging>
- <name>HawtJNI</name>
- <description>A JNI code generator based on the JNI generator used by the eclipse SWT project</description>
+ <name>HawtJNI</name>
+ <description>A JNI code generator based on the JNI generator used by the eclipse SWT project</description>
- <properties>
- <forge-project-id>hawtjni</forge-project-id>
- <forge-project-id-uc>HAWTJNI</forge-project-id-uc>
-
- <scalate-version>1.5.1</scalate-version>
- <scalamd-version>1.5</scalamd-version>
- <slf4j-version>1.6.1</slf4j-version>
- <jetty-plugin-version>7.0.1.v20091125</jetty-plugin-version>
- <scala-plugin-version>2.15.2</scala-plugin-version>
- <scala-version>2.9.0-1</scala-version>
- </properties>
+ <properties>
+ <forge-project-id>hawtjni</forge-project-id>
+ <forge-project-id-uc>HAWTJNI</forge-project-id-uc>
+ <scalate-version>1.6.1</scalate-version>
+ <scalamd-version>1.6</scalamd-version>
+ <slf4j-version>1.7.30</slf4j-version>
+ <jetty-plugin-version>9.4.28.v20200408</jetty-plugin-version>
+ <scala-plugin-version>2.9</scala-plugin-version>
+ <scala-version>2.9.3</scala-version>
+ <maven.compiler.source>8</maven.compiler.source>
+ <maven.compiler.target>8</maven.compiler.target>
+ </properties>
- <url>http://fusesource.github.io/${forge-project-id}</url>
- <inceptionYear>2009</inceptionYear>
+ <url>http://fusesource.github.io/${forge-project-id}</url>
+ <inceptionYear>2009</inceptionYear>
- <issueManagement>
- <system>github</system>
- <url>https://github.com/fusesource/hawtjni/issues</url>
- </issueManagement>
+ <issueManagement>
+ <system>github</system>
+ <url>https://github.com/fusesource/hawtjni/issues</url>
+ </issueManagement>
- <mailingLists>
+ <mailingLists>
- <mailingList>
- <name>Discussion List</name>
- <archive>http://groups.google.com/group/${forge-project-id}</archive>
- <post>${forge-project-id}@googlegroups.com</post>
- <subscribe>${forge-project-id}+subscribe at googlegroups.com</subscribe>
- <unsubscribe>${forge-project-id}+unsubscribe at googlegroups.com</unsubscribe>
- </mailingList>
- <mailingList>
- <name>Commits and Issue Tracker List</name>
- <archive>http://groups.google.com/group/${forge-project-id}-commits</archive>
- <post>${forge-project-id}-commits at googlegroups.com</post>
- <subscribe>${forge-project-id}-commits+subscribe at googlegroups.com</subscribe>
- <unsubscribe>${forge-project-id}-commits+unsubscribe at googlegroups.com</unsubscribe>
- </mailingList>
- </mailingLists>
+ <mailingList>
+ <name>Discussion List</name>
+ <archive>http://groups.google.com/group/${forge-project-id}</archive>
+ <post>${forge-project-id}@googlegroups.com</post>
+ <subscribe>${forge-project-id}+subscribe at googlegroups.com</subscribe>
+ <unsubscribe>${forge-project-id}+unsubscribe at googlegroups.com</unsubscribe>
+ </mailingList>
+ <mailingList>
+ <name>Commits and Issue Tracker List</name>
+ <archive>http://groups.google.com/group/${forge-project-id}-commits</archive>
+ <post>${forge-project-id}-commits at googlegroups.com</post>
+ <subscribe>${forge-project-id}-commits+subscribe at googlegroups.com</subscribe>
+ <unsubscribe>${forge-project-id}-commits+unsubscribe at googlegroups.com</unsubscribe>
+ </mailingList>
+ </mailingLists>
- <licenses>
- <license>
- <name>Eclipse Public License - v 1.0</name>
- <url>http://www.eclipse.org/legal/epl-v10.html</url>
- <distribution>repo</distribution>
- </license>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
+ <licenses>
+ <license>
+ <name>Eclipse Public License - v 1.0</name>
+ <url>http://www.eclipse.org/legal/epl-v10.html</url>
+ <distribution>repo</distribution>
+ </license>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
- <scm>
- <connection>scm:git:https://github.com/fusesource/${forge-project-id}.git</connection>
- <developerConnection>scm:git:https://github.com/fusesource/${forge-project-id}.git</developerConnection>
- <url>https://github.com/fusesource/${forge-project-id}/tree/${project.scm.tag}</url>
- <tag>hawtjni-project-1.17</tag>
- </scm>
+ <scm>
+ <connection>scm:git:https://github.com/fusesource/${forge-project-id}.git</connection>
+ <developerConnection>scm:git:https://github.com/fusesource/${forge-project-id}.git</developerConnection>
+ <url>https://github.com/fusesource/${forge-project-id}/tree/${project.scm.tag}</url>
+ <tag>hawtjni-project-1.18</tag>
+ </scm>
- <distributionManagement>
- <repository>
- <id>sonatype-nexus-staging</id>
- <name>Sonatype Staging Repository</name>
- <url> https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
- </repository>
- <snapshotRepository>
- <id>sonatype-nexus-snapshots</id>
- <name>Sonatype Snapshot Repository</name>
- <url>https://oss.sonatype.org/content/repositories/snapshots</url>
- </snapshotRepository>
- </distributionManagement>
+ <distributionManagement>
+ <repository>
+ <id>sonatype-nexus-staging</id>
+ <name>Sonatype Staging Repository</name>
+ <url> https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
+ </repository>
+ <snapshotRepository>
+ <id>sonatype-nexus-snapshots</id>
+ <name>Sonatype Snapshot Repository</name>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ </snapshotRepository>
+ </distributionManagement>
- <developers>
- <developer>
- <id>chirino</id>
- <name>Hiram Chirino</name>
- <email>hiram at hiramchirino.com</email>
- <url>http://hiramchirino.com</url>
- <timezone>GMT-5</timezone>
- </developer>
- </developers>
+ <developers>
+ <developer>
+ <id>chirino</id>
+ <name>Hiram Chirino</name>
+ <email>hiram at hiramchirino.com</email>
+ <url>http://hiramchirino.com</url>
+ <timezone>GMT-5</timezone>
+ </developer>
+ </developers>
- <build>
- <defaultGoal>install</defaultGoal>
+ <build>
+ <defaultGoal>install</defaultGoal>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.6.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.20</version>
- <configuration>
- <failIfNoTests>false</failIfNoTests>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.4</version>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- <excludePackageNames>*.internal</excludePackageNames>
- <linksource>true</linksource>
- <links>
- <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
- </links>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.1</version>
- </plugin>
- </plugins>
- </pluginManagement>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.1</version>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <target>${maven.compiler.target}</target>
+ <forceJavacCompilerUse>true</forceJavacCompilerUse>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>3.0.0-M4</version>
+ <configuration>
+ <failIfNoTests>false</failIfNoTests>
+ <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory" />
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>3.2.0</version>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <encoding>${project.build.sourceEncoding}</encoding>
+ <excludePackageNames>*.internal</excludePackageNames>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.2.0</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
- <plugins>
+ <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-idea-plugin</artifactId>
- <version>2.2.1</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>true</downloadJavadocs>
- </configuration>
- </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-idea-plugin</artifactId>
+ <version>2.2.1</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <downloadJavadocs>true</downloadJavadocs>
+ </configuration>
+ </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-eclipse-plugin</artifactId>
- <version>2.10</version>
- <configuration>
- <downloadSources>true</downloadSources>
- <downloadJavadocs>true</downloadJavadocs>
- </configuration>
- </plugin>
- </plugins>
- </build>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>2.10</version>
+ <configuration>
+ <downloadSources>true</downloadSources>
+ <downloadJavadocs>true</downloadJavadocs>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.1</version>
+ <configuration>
+ <source>${maven.compiler.source}</source>
+ <target>${maven.compiler.target}</target>
+ <forceJavacCompilerUse>true</forceJavacCompilerUse>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jxr-plugin</artifactId>
- <version>2.5</version>
- <configuration>
- <aggregate>true</aggregate>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>2.9</version>
- <reportSets>
- <reportSet>
- <reports>
- <report>index</report>
- <report>summary</report>
- <report>plugins</report>
- <report>dependencies</report>
- <report>mailing-list</report>
- <report>issue-tracking</report>
- <report>license</report>
- <report>scm</report>
- </reports>
- </reportSet>
- </reportSets>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>surefire-report-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </reporting>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <version>3.0.0</version>
+ <configuration>
+ <aggregate>true</aggregate>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>3.0.0</version>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>index</report>
+ <report>summary</report>
+ <report>plugins</report>
+ <report>dependencies</report>
+ <report>mailing-list</report>
+ <report>issue-tracking</report>
+ <report>license</report>
+ <report>scm</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>surefire-report-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </reporting>
- <modules>
- <module>hawtjni-runtime</module>
- <module>hawtjni-generator</module>
- <module>hawtjni-maven-plugin</module>
- <module>hawtjni-example</module>
- <!--
+ <modules>
+ <module>hawtjni-runtime</module>
+ <module>hawtjni-generator</module>
+ <module>hawtjni-maven-plugin</module>
+ <module>hawtjni-example</module>
+ <!--
<module>hawtjni-website</module>
- -->
- </modules>
+ -->
+ </modules>
</project>
=====================================
readme.md
=====================================
@@ -7,7 +7,7 @@ Description
[HawtJNI][1] is a code generator that produces the JNI code needed to implement java native methods. It is based on the [jnigen][2] code generator that is part of the SWT Tools
project which is used to generate all the JNI code which powers the eclipse platform.
-[![Maven Central](https://img.shields.io/maven-central/v/org.fusesource.hawtjni/hawtjni-runtime.svg?label=Maven%20Central)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.fusesource.hawtjni%22%20a%3A%22hawtjni-runtime%22)
+[![Maven Central](https://img.shields.io/maven-central/v/org.fusesource.hawtjni/hawtjni-maven-plugin.svg?label=Maven%20Central)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.fusesource.hawtjni%22%20a%3A%22hawtjni-runtime%22)
Features
--------
View it on GitLab: https://salsa.debian.org/java-team/hawtjni/-/commit/e8db348d3187ef9b2adf90ee3afec6ae1cc22cc0
--
View it on GitLab: https://salsa.debian.org/java-team/hawtjni/-/commit/e8db348d3187ef9b2adf90ee3afec6ae1cc22cc0
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20220505/28af8e29/attachment.htm>
More information about the pkg-java-commits
mailing list