Update upstream source from tag 'upstream/1.18'
Update to upstream version '1.18'
with Debian dir db539ef8dd8188df28f92777643cae540e459f85
Emmanuel Bourg
2 years ago
0 | 0 | language: java |
1 | jobs: | |
2 | include: | |
3 | - arch: amd64 | |
4 | - arch: ppc64le | |
5 | before_install: | |
6 | - mkdir -p /opt/maven | |
7 | - 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 | |
8 | - export MAVEN_HOME=/opt/maven | |
9 | - export PATH=${MAVEN_HOME}/bin:${PATH} | |
1 | 10 | after_failure: print_surefire_reports.sh |
0 | 0 | # ![HawtJNI](http://fusesource.github.io/hawtjni/images/project-logo.png) |
1 | ||
2 | ## HawtJNI 1.18, released 2020-10-21 | |
3 | ||
4 | * [`84606da`](https://github.com/fusesource/hawtjni/commit/84606dacef9bced4d21c2d47bb641b2737738ceb) Bump junit from 4.13 to 4.13.1 in /hawtjni-example | |
5 | * [`de46737`](https://github.com/fusesource/hawtjni/commit/de4673789a0f0892516450f837c301f5e81246d0) Merge pull request #70 from Siddhesh-Ghadi/ci-power | |
6 | * [`c06f662`](https://github.com/fusesource/hawtjni/commit/c06f662b9e7ef74dd98bf73f9458cae7a3f5fd86) Add ppc64le support on travis-ci | |
7 | * [`2976527`](https://github.com/fusesource/hawtjni/commit/2976527a43ec256c98c383110d436bba7aff8c9c) Add doc to setup the native build environment macOS | |
8 | * [`c00e2d2`](https://github.com/fusesource/hawtjni/commit/c00e2d22b4dfa105d31754bf044874845d7cacb5) Support for shared pointers, fixes #57 | |
9 | * [`5b4e5ad`](https://github.com/fusesource/hawtjni/commit/5b4e5ad74e63f1c1c180b2169eedd20c9b64e716) Merge pull request #59 from voutilad/master | |
10 | * [`8678713`](https://github.com/fusesource/hawtjni/commit/8678713caf00652f4f7d52e36b8b384cf611dde5) Merge pull request #61 from remkop/master | |
11 | * [`d145a1d`](https://github.com/fusesource/hawtjni/commit/d145a1dea37bbd8f98c9f1e6f21d756f849d7979) Do not force JDK 11 but rather support it | |
12 | * [`8ee5b21`](https://github.com/fusesource/hawtjni/commit/8ee5b2113069399c79610a1de6e01af7d5ae8c45) Updated to work with JDK11 | |
13 | * [`d1f1492`](https://github.com/fusesource/hawtjni/commit/d1f14926156d103357e7761c4182085b27e7c663) Fix example on OSX | |
14 | * [`b7277af`](https://github.com/fusesource/hawtjni/commit/b7277aff8f3b01c1c462ede437efb3a4a33973ff) prepare 1.17 release website | |
15 | * [`56b5bd0`](https://github.com/fusesource/hawtjni/commit/56b5bd0dd3e9a3091905cf262dbe232b65447e07) use hawtjni-maven-plugin for Maven Central badge | |
16 | * [`c14fec0`](https://github.com/fusesource/hawtjni/commit/c14fec00b9976ff6b84e62e483d678594a7d3832) Support for OSX Catalina | |
17 | * [`2c64ed4`](https://github.com/fusesource/hawtjni/commit/2c64ed4134de9b3cefd9423382a59f60c8f3ad25) jansi/#162 fix issue where bitModel could not be retrieved on GraalVM | |
18 | * [`e7806ff`](https://github.com/fusesource/hawtjni/commit/e7806ff89508fce6a61c300ea9a16992324c0ce1) support for OpenBSD | |
1 | 19 | |
2 | 20 | ## HawtJNI 1.17, released 2019-04-03 |
3 | 21 |
15 | 15 | limitations under the License. |
16 | 16 | --> |
17 | 17 | <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"> |
18 | <modelVersion>4.0.0</modelVersion> | |
18 | <modelVersion>4.0.0</modelVersion> | |
19 | 19 | |
20 | <parent> | |
21 | <groupId>org.fusesource.hawtjni</groupId> | |
22 | <artifactId>hawtjni-project</artifactId> | |
23 | <version>1.17</version> | |
24 | </parent> | |
20 | <parent> | |
21 | <groupId>org.fusesource.hawtjni</groupId> | |
22 | <artifactId>hawtjni-project</artifactId> | |
23 | <version>1.18</version> | |
24 | </parent> | |
25 | 25 | |
26 | <artifactId>hawtjni-example</artifactId> | |
27 | <name>HawtJNI Example</name> | |
26 | <artifactId>hawtjni-example</artifactId> | |
27 | <name>HawtJNI Example</name> | |
28 | 28 | |
29 | <dependencies> | |
30 | <dependency> | |
31 | <groupId>org.fusesource.hawtjni</groupId> | |
32 | <artifactId>hawtjni-runtime</artifactId> | |
33 | <version>${project.version}</version> | |
34 | </dependency> | |
35 | ||
36 | <dependency> | |
37 | <groupId>junit</groupId> | |
38 | <artifactId>junit</artifactId> | |
39 | <version>4.7</version> | |
40 | <scope>test</scope> | |
41 | </dependency> | |
42 | <dependency> | |
43 | <groupId>log4j</groupId> | |
44 | <artifactId>log4j</artifactId> | |
45 | <version>1.2.14</version> | |
46 | <scope>test</scope> | |
47 | </dependency> | |
48 | ||
49 | </dependencies> | |
29 | <dependencies> | |
30 | <dependency> | |
31 | <groupId>org.fusesource.hawtjni</groupId> | |
32 | <artifactId>hawtjni-runtime</artifactId> | |
33 | <version>${project.version}</version> | |
34 | </dependency> | |
35 | <dependency> | |
36 | <groupId>junit</groupId> | |
37 | <artifactId>junit</artifactId> | |
38 | <version>4.13.1</version> | |
39 | <scope>test</scope> | |
40 | </dependency> | |
41 | <dependency> | |
42 | <groupId>log4j</groupId> | |
43 | <artifactId>log4j</artifactId> | |
44 | <version>1.2.17</version> | |
45 | <scope>test</scope> | |
46 | </dependency> | |
47 | </dependencies> | |
50 | 48 | |
51 | <build> | |
52 | <plugins> | |
53 | ||
54 | <!-- the older clean plugin has trouble deleting directories with symlinks in them --> | |
55 | <plugin> | |
56 | <groupId>org.apache.maven.plugins</groupId> | |
57 | <artifactId>maven-clean-plugin</artifactId> | |
58 | <version>3.0.0</version> | |
59 | </plugin> | |
60 | ||
61 | <plugin> | |
62 | <groupId>org.fusesource.hawtjni</groupId> | |
63 | <artifactId>hawtjni-maven-plugin</artifactId> | |
64 | <version>${project.version}</version> | |
65 | <executions> | |
66 | <execution> | |
67 | <goals> | |
68 | <goal>generate</goal> | |
69 | <goal>build</goal> | |
70 | <goal>package-jar</goal> | |
71 | <goal>package-source</goal> | |
72 | </goals> | |
73 | <configuration> | |
74 | <downloadUrl><![CDATA[ | |
49 | <build> | |
50 | <plugins> | |
51 | <plugin> | |
52 | <groupId>org.fusesource.hawtjni</groupId> | |
53 | <artifactId>hawtjni-maven-plugin</artifactId> | |
54 | <version>${project.version}</version> | |
55 | <executions> | |
56 | <execution> | |
57 | <goals> | |
58 | <goal>generate</goal> | |
59 | <goal>build</goal> | |
60 | <goal>package-jar</goal> | |
61 | <goal>package-source</goal> | |
62 | </goals> | |
63 | <configuration> | |
64 | <downloadUrl><![CDATA[ | |
75 | 65 | 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 |
76 | 66 | ]]></downloadUrl> |
77 | <copyright><![CDATA[ | |
67 | <copyright><![CDATA[ | |
78 | 68 | /******************************************************************************* |
79 | 69 | * Copyright (C) 2009-2011 FuseSource Corp. |
80 | 70 | * |
84 | 74 | * http://www.eclipse.org/legal/epl-v10.html |
85 | 75 | *******************************************************************************/ |
86 | 76 | ]]></copyright> |
87 | </configuration> | |
88 | </execution> | |
89 | </executions> | |
90 | </plugin> | |
77 | </configuration> | |
78 | </execution> | |
79 | </executions> | |
80 | </plugin> | |
91 | 81 | |
92 | <!-- include all the dependencies into the jar so it can run standalone --> | |
93 | <plugin> | |
94 | <groupId>org.apache.maven.plugins</groupId> | |
95 | <artifactId>maven-shade-plugin</artifactId> | |
96 | <version>3.0.0</version> | |
97 | <executions> | |
98 | <execution> | |
99 | <phase>package</phase> | |
100 | <goals> | |
101 | <goal>shade</goal> | |
102 | </goals> | |
103 | <configuration> | |
104 | <artifactSet> | |
105 | <excludes> | |
106 | <exclude>junit:junit</exclude> | |
107 | </excludes> | |
108 | </artifactSet> | |
109 | </configuration> | |
110 | </execution> | |
111 | </executions> | |
112 | </plugin> | |
113 | ||
114 | </plugins> | |
115 | </build> | |
82 | <!-- include all the dependencies into the jar so it can run standalone --> | |
83 | <plugin> | |
84 | <groupId>org.apache.maven.plugins</groupId> | |
85 | <artifactId>maven-shade-plugin</artifactId> | |
86 | <version>3.2.3</version> | |
87 | <executions> | |
88 | <execution> | |
89 | <phase>package</phase> | |
90 | <goals> | |
91 | <goal>shade</goal> | |
92 | </goals> | |
93 | <configuration> | |
94 | <artifactSet> | |
95 | <excludes> | |
96 | <exclude>junit:junit</exclude> | |
97 | </excludes> | |
98 | </artifactSet> | |
99 | <filters> | |
100 | <filter> | |
101 | <artifact>*:*</artifact> | |
102 | <excludes> | |
103 | <exclude>META-INF/MANIFEST.MF</exclude> | |
104 | </excludes> | |
105 | </filter> | |
106 | </filters> | |
107 | </configuration> | |
108 | </execution> | |
109 | </executions> | |
110 | </plugin> | |
111 | </plugins> | |
112 | </build> | |
116 | 113 | |
117 | <profiles> | |
114 | <profiles> | |
118 | 115 | |
119 | <!-- Profile which enables Universal binaries on OS X --> | |
120 | <profile> | |
121 | <id>mac</id> | |
122 | <activation> | |
123 | <os><family>mac</family></os> | |
124 | </activation> | |
125 | <build> | |
126 | <plugins> | |
127 | <plugin> | |
128 | <groupId>org.fusesource.hawtjni</groupId> | |
129 | <artifactId>hawtjni-maven-plugin</artifactId> | |
130 | <configuration> | |
131 | <osgiPlatforms> | |
132 | <osgiPlatform>osname=MacOS;processor=x86-64</osgiPlatform> | |
133 | <osgiPlatform>osname=MacOS;processor=x86</osgiPlatform> | |
134 | <osgiPlatform>*</osgiPlatform> | |
135 | </osgiPlatforms> | |
136 | <configureArgs> | |
137 | <arg>--with-universal</arg> | |
138 | </configureArgs> | |
139 | <platform>osx</platform> | |
140 | </configuration> | |
141 | </plugin> | |
142 | </plugins> | |
143 | </build> | |
144 | </profile> | |
145 | </profiles> | |
116 | <!-- Profile which enables Universal binaries on OS X --> | |
117 | <profile> | |
118 | <id>mac</id> | |
119 | <activation> | |
120 | <os> | |
121 | <family>mac</family> | |
122 | </os> | |
123 | </activation> | |
124 | <build> | |
125 | <plugins> | |
126 | <plugin> | |
127 | <groupId>org.fusesource.hawtjni</groupId> | |
128 | <artifactId>hawtjni-maven-plugin</artifactId> | |
129 | <configuration> | |
130 | <osgiPlatforms> | |
131 | <osgiPlatform>osname=MacOS;processor=x86-64</osgiPlatform> | |
132 | <osgiPlatform>osname=MacOS;processor=x86</osgiPlatform> | |
133 | <osgiPlatform>*</osgiPlatform> | |
134 | </osgiPlatforms> | |
135 | <configureArgs> | |
136 | <arg>--with-universal</arg> | |
137 | </configureArgs> | |
138 | <platform>osx</platform> | |
139 | </configuration> | |
140 | </plugin> | |
141 | </plugins> | |
142 | </build> | |
143 | </profile> | |
144 | </profiles> | |
146 | 145 | |
147 | 146 | |
148 | 147 | </project> |
87 | 87 | public static int O_WRONLY; |
88 | 88 | @JniField(flags={CONSTANT}) |
89 | 89 | public static int O_RDWR; |
90 | ||
90 | 91 | |
91 | 92 | @JniMethod(cast="void *") |
92 | 93 | public static final native long malloc( |
223 | 224 | |
224 | 225 | @JniField(getter = "get_d()", setter = "set_d()", flags = { GETTER_NONMEMBER, SETTER_NONMEMBER }) |
225 | 226 | private float d; |
227 | ||
228 | @JniField(getter = "get_sp()", setter = "set_sp()", flags={ SHARED_PTR, GETTER_NONMEMBER, SETTER_NONMEMBER }) | |
229 | private long CheckStr; | |
226 | 230 | |
227 | 231 | @Override |
228 | 232 | public int hashCode() { |
57 | 57 | @JniMethod(cast="id", flags={POINTER_RETURN}) |
58 | 58 | public static final native long objc_getClass(String className); |
59 | 59 | |
60 | @JniMethod(cast="id", flags={POINTER_RETURN}, accessor="objc_msgSend") | |
60 | @JniMethod(cast="id", flags={POINTER_RETURN}, accessor="reinterpret_cast<id (*)(id, SEL)> (objc_msgSend)") | |
61 | 61 | public static final native long $( |
62 | 62 | @JniArg(cast="id", flags={POINTER_ARG})long id, |
63 | 63 | @JniArg(cast="SEL", flags={POINTER_ARG})long sel |
64 | 64 | ); |
65 | 65 | |
66 | @JniMethod(cast="id", flags={POINTER_RETURN}, accessor="objc_msgSend") | |
66 | @JniMethod(cast="id", flags={POINTER_RETURN}, accessor="reinterpret_cast<id (*)(id, SEL, const char*)> (objc_msgSend)") | |
67 | 67 | public static final native long $( |
68 | 68 | @JniArg(cast="id", flags={POINTER_ARG})long id, |
69 | 69 | @JniArg(cast="SEL", flags={POINTER_ARG})long sel, |
0 | /******************************************************************************* | |
1 | * Copyright (C) 2009-2011 FuseSource Corp. | |
2 | * | |
3 | * All rights reserved. This program and the accompanying materials | |
4 | * are made available under the terms of the Eclipse Public License v1.0 | |
5 | * which accompanies this distribution, and is available at | |
6 | * http://www.eclipse.org/legal/epl-v10.html | |
7 | *******************************************************************************/ | |
8 | #include "foo.h" | |
9 | #include <stdio.h> | |
10 | ||
11 | float get_d(struct foo *arg) { | |
12 | return 0.0f; | |
13 | } | |
14 | void set_d(struct foo *arg, float d) { | |
15 | } | |
16 | ||
17 | void print_foo(struct foo *arg) { | |
18 | 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)); | |
19 | } | |
20 | ||
21 | long foowork(struct foo **arg, int count) { | |
22 | long rc=0; | |
23 | int i=0; | |
24 | for( i=0; i < count; i++ ) { | |
25 | rc = rc + (*arg)->a; | |
26 | rc = rc + (*arg)->b; | |
27 | arg++; | |
28 | } | |
29 | return rc; | |
30 | } | |
31 | ||
32 | void callmeback(void (*thecallback)(int number)) { | |
33 | thecallback(69); | |
34 | } | |
35 | ||
36 | struct foo * foo_add(struct foo *arg, int count) { | |
37 | return arg+count; | |
38 | } | |
39 | ||
40 | char * char_add(char *arg, int count) { | |
41 | return arg+count; | |
42 | } | |
43 | ||
44 | void passingtheenv (const char *who, JNIEnv *env) { | |
45 | printf("%s, the JNIEnv is at: %x\n", who, env); | |
46 | } |
0 | /******************************************************************************* | |
1 | * Copyright (C) 2009-2011 FuseSource Corp. | |
2 | * | |
3 | * All rights reserved. This program and the accompanying materials | |
4 | * are made available under the terms of the Eclipse Public License v1.0 | |
5 | * which accompanies this distribution, and is available at | |
6 | * http://www.eclipse.org/legal/epl-v10.html | |
7 | *******************************************************************************/ | |
8 | #include "foo.h" | |
9 | #include <stdio.h> | |
10 | ||
11 | float get_d(struct foo *arg) { | |
12 | return 0.0f; | |
13 | } | |
14 | void set_d(struct foo *arg, float d) { | |
15 | } | |
16 | ||
17 | std::shared_ptr<intptr_t> get_sp(long CheckStr) { | |
18 | return std::make_shared<intptr_t> (CheckStr); | |
19 | } | |
20 | void set_sp(struct foo *arg, std::shared_ptr<intptr_t> ptr) { | |
21 | } | |
22 | ||
23 | void print_foo(struct foo *arg) { | |
24 | 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()); | |
25 | } | |
26 | ||
27 | long foowork(struct foo **arg, int count) { | |
28 | long rc=0; | |
29 | int i=0; | |
30 | for( i=0; i < count; i++ ) { | |
31 | rc = rc + (*arg)->a; | |
32 | rc = rc + (*arg)->b; | |
33 | arg++; | |
34 | } | |
35 | return rc; | |
36 | } | |
37 | ||
38 | void callmeback(void (*thecallback)(int number)) { | |
39 | thecallback(69); | |
40 | } | |
41 | ||
42 | struct foo * foo_add(struct foo *arg, int count) { | |
43 | return arg+count; | |
44 | } | |
45 | ||
46 | char * char_add(char *arg, int count) { | |
47 | return arg+count; | |
48 | } | |
49 | ||
50 | void passingtheenv (const char *who, JNIEnv *env) { | |
51 | printf("%s, the JNIEnv is at: %p\n", who, env); | |
52 | } |
9 | 9 | #define INCLUDED_FOO_H |
10 | 10 | |
11 | 11 | #include <stdlib.h> |
12 | #include <memory> | |
12 | 13 | #include "jni.h" |
13 | 14 | |
14 | 15 | #ifdef __cplusplus |
17 | 18 | |
18 | 19 | struct foo { |
19 | 20 | int a; |
20 | size_t b; | |
21 | char c[20]; | |
21 | size_t b; | |
22 | char c[20]; | |
22 | 23 | struct foo *prev; |
24 | long CheckStr; | |
23 | 25 | }; |
24 | 26 | |
25 | 27 | typedef struct _point { |
54 | 56 | } /* extern "C" */ |
55 | 57 | #endif |
56 | 58 | |
59 | std::shared_ptr<intptr_t> get_sp(long CheckStr); | |
60 | void set_sp(struct foo *arg, std::shared_ptr<intptr_t>); | |
61 | ||
57 | 62 | #endif /* INCLUDED_FOO_H */ |
18 | 18 | #define HAVE_STRINGS_H 1 |
19 | 19 | #endif |
20 | 20 | #endif |
21 | ||
21 | #include <memory> | |
22 | 22 | #ifdef __APPLE__ |
23 | 23 | #import <objc/objc-runtime.h> |
24 | 24 | #endif |
15 | 15 | limitations under the License. |
16 | 16 | --> |
17 | 17 | <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"> |
18 | <modelVersion>4.0.0</modelVersion> | |
18 | <modelVersion>4.0.0</modelVersion> | |
19 | 19 | |
20 | <parent> | |
21 | <groupId>org.fusesource.hawtjni</groupId> | |
22 | <artifactId>hawtjni-project</artifactId> | |
23 | <version>1.17</version> | |
24 | </parent> | |
20 | <parent> | |
21 | <groupId>org.fusesource.hawtjni</groupId> | |
22 | <artifactId>hawtjni-project</artifactId> | |
23 | <version>1.18</version> | |
24 | </parent> | |
25 | 25 | |
26 | <artifactId>hawtjni-generator</artifactId> | |
26 | <artifactId>hawtjni-generator</artifactId> | |
27 | 27 | |
28 | <name>HawtJNI Generator</name> | |
29 | <description>This module contains the JNI code generation tools.</description> | |
28 | <name>HawtJNI Generator</name> | |
29 | <description>This module contains the JNI code generation tools.</description> | |
30 | 30 | |
31 | <dependencies> | |
32 | <dependency> | |
33 | <groupId>org.fusesource.hawtjni</groupId> | |
34 | <artifactId>hawtjni-runtime</artifactId> | |
35 | <version>${project.version}</version> | |
36 | </dependency> | |
37 | <dependency> | |
38 | <artifactId>xbean-finder</artifactId> | |
39 | <groupId>org.apache.xbean</groupId> | |
40 | <version>4.2</version> | |
41 | </dependency> | |
42 | <dependency> | |
43 | <groupId>org.ow2.asm</groupId> | |
44 | <artifactId>asm</artifactId> | |
45 | <version>5.0.3</version> | |
46 | </dependency> | |
47 | <dependency> | |
48 | <groupId>org.ow2.asm</groupId> | |
49 | <artifactId>asm-commons</artifactId> | |
50 | <version>5.0.3</version> | |
51 | </dependency> | |
52 | ||
53 | <!-- | |
54 | <dependency> | |
55 | <groupId>com.thoughtworks.paranamer</groupId> | |
56 | <artifactId>paranamer-generator</artifactId> | |
57 | <version>2.1</version> | |
58 | </dependency> | |
59 | --> | |
60 | ||
61 | <dependency> | |
62 | <groupId>commons-cli</groupId> | |
63 | <artifactId>commons-cli</artifactId> | |
64 | <version>1.0</version> | |
65 | </dependency> | |
66 | </dependencies> | |
31 | <dependencies> | |
32 | <dependency> | |
33 | <groupId>org.fusesource.hawtjni</groupId> | |
34 | <artifactId>hawtjni-runtime</artifactId> | |
35 | <version>${project.version}</version> | |
36 | </dependency> | |
37 | <dependency> | |
38 | <artifactId>xbean-finder</artifactId> | |
39 | <groupId>org.apache.xbean</groupId> | |
40 | <version>4.16</version> | |
41 | </dependency> | |
42 | <dependency> | |
43 | <groupId>org.ow2.asm</groupId> | |
44 | <artifactId>asm</artifactId> | |
45 | <version>8.0.1</version> | |
46 | </dependency> | |
47 | <dependency> | |
48 | <groupId>org.ow2.asm</groupId> | |
49 | <artifactId>asm-commons</artifactId> | |
50 | <version>8.0.1</version> | |
51 | </dependency> | |
52 | <!-- | |
53 | <dependency> | |
54 | <groupId>org.apache.commons</groupId> | |
55 | <artifactId>commons-lang3</artifactId> | |
56 | <version>3.10</version> | |
57 | </dependency> | |
58 | --> | |
59 | <dependency> | |
60 | <groupId>commons-cli</groupId> | |
61 | <artifactId>commons-cli</artifactId> | |
62 | <version>1.0</version> | |
63 | </dependency> | |
64 | </dependencies> | |
67 | 65 | |
68 | <build> | |
69 | <plugins> | |
70 | ||
71 | <!-- include all the dependencies into the jar so it can run standalone --> | |
72 | <plugin> | |
73 | <groupId>org.apache.maven.plugins</groupId> | |
74 | <artifactId>maven-shade-plugin</artifactId> | |
75 | <version>3.0.0</version> | |
76 | <executions> | |
77 | <execution> | |
78 | <phase>package</phase> | |
79 | <goals> | |
80 | <goal>shade</goal> | |
81 | </goals> | |
82 | <configuration> | |
83 | <artifactSet> | |
84 | <excludes> | |
85 | <exclude>junit:junit</exclude> | |
86 | </excludes> | |
87 | </artifactSet> | |
88 | </configuration> | |
89 | </execution> | |
90 | </executions> | |
91 | </plugin> | |
92 | ||
93 | </plugins> | |
94 | </build> | |
95 | ||
66 | <build> | |
67 | <plugins> | |
68 | <!-- include all the dependencies into the jar so it can run standalone --> | |
69 | <plugin> | |
70 | <groupId>org.apache.maven.plugins</groupId> | |
71 | <artifactId>maven-shade-plugin</artifactId> | |
72 | <version>3.2.3</version> | |
73 | <executions> | |
74 | <execution> | |
75 | <phase>package</phase> | |
76 | <goals> | |
77 | <goal>shade</goal> | |
78 | </goals> | |
79 | <configuration> | |
80 | <artifactSet> | |
81 | <excludes> | |
82 | <exclude>junit:junit</exclude> | |
83 | </excludes> | |
84 | </artifactSet> | |
85 | <filters> | |
86 | <filter> | |
87 | <artifact>*:*</artifact> | |
88 | <excludes> | |
89 | <exclude>META-INF/DEPENDENCIES</exclude> | |
90 | <exclude>META-INF/LICENSE*</exclude> | |
91 | <exclude>META-INF/NOTICE</exclude> | |
92 | <exclude>META-INF/MANIFEST.MF</exclude> | |
93 | <exclude>module-info.class</exclude> | |
94 | </excludes> | |
95 | </filter> | |
96 | <filter> | |
97 | <artifact>org.apache.xbean:xbean-finder</artifact> | |
98 | <excludes> | |
99 | <exclude>org/apache/xbean/asm7/original/commons/AsmConstants.class</exclude> | |
100 | <exclude>org/apache/xbean/asm7/original/commons/EmptyVisitor*</exclude> | |
101 | </excludes> | |
102 | </filter> | |
103 | </filters> | |
104 | </configuration> | |
105 | </execution> | |
106 | </executions> | |
107 | </plugin> | |
108 | </plugins> | |
109 | </build> | |
96 | 110 | </project> |
+40
-21
42 | 42 | |
43 | 43 | public void generateIncludes() { |
44 | 44 | if (header) { |
45 | outputln("#include \""+getOutputName()+".h\""); | |
45 | outputln("#include \"" + getOutputName() + ".h\""); | |
46 | 46 | } else { |
47 | outputln("#include \""+getOutputName()+".h\""); | |
47 | outputln("#include \"" + getOutputName() + ".h\""); | |
48 | 48 | outputln("#include \"hawtjni.h\""); |
49 | outputln("#include \""+getOutputName()+"_structs.h\""); | |
49 | outputln("#include \"" + getOutputName() + "_structs.h\""); | |
50 | 50 | } |
51 | 51 | outputln(); |
52 | 52 | } |
99 | 99 | |
100 | 100 | void generateSourceStart(JNIClass clazz) { |
101 | 101 | String conditional = clazz.getConditional(); |
102 | if (conditional!=null) { | |
103 | outputln("#if "+conditional); | |
102 | if (conditional != null) { | |
103 | outputln("#if " + conditional); | |
104 | 104 | } |
105 | 105 | } |
106 | 106 | |
107 | 107 | void generateSourceEnd(JNIClass clazz) { |
108 | if (clazz.getConditional()!=null) { | |
108 | if (clazz.getConditional() != null) { | |
109 | 109 | outputln("#endif"); |
110 | 110 | } |
111 | 111 | } |
119 | 119 | } |
120 | 120 | |
121 | 121 | void generateBlankMacros(JNIClass clazz) { |
122 | ||
123 | if (clazz.getConditional()==null) { | |
122 | ||
123 | if (clazz.getConditional() == null) { | |
124 | 124 | return; |
125 | 125 | } |
126 | ||
126 | ||
127 | 127 | String simpleName = clazz.getSimpleName(); |
128 | 128 | outputln("#else"); |
129 | 129 | output("#define cache"); |
277 | 277 | } |
278 | 278 | } |
279 | 279 | List<JNIField> fields = clazz.getDeclaredFields(); |
280 | int sharePtrIndex = 0; | |
280 | 281 | for (JNIField field : fields) { |
281 | 282 | if (ignoreField(field)) |
282 | 283 | continue; |
283 | 284 | String conditional = field.getConditional(); |
284 | if (conditional!=null) { | |
285 | outputln("#if "+conditional); | |
285 | if (conditional != null) { | |
286 | outputln("#if " + conditional); | |
286 | 287 | } |
287 | 288 | JNIType type = field.getType(), type64 = field.getType64(); |
288 | 289 | String simpleName = type.getSimpleName(); |
289 | 290 | JNIFieldAccessor accessor = field.getAccessor(); |
291 | boolean allowConversion = !type.equals(type64); | |
290 | 292 | output("\t"); |
291 | 293 | if (type.isPrimitive()) { |
292 | 294 | if (!accessor.isNonMemberSetter()) |
300 | 302 | output(accessor.setter()); |
301 | 303 | output(" = "); |
302 | 304 | } |
303 | output(field.getCast()); | |
305 | if (field.isSharedPointer()) | |
306 | output("std::make_shared<" + type.getTypeSignature2(allowConversion) + ">("); | |
307 | else | |
308 | output(field.getCast()); | |
309 | ||
304 | 310 | if (field.isPointer()) { |
305 | 311 | output("(intptr_t)"); |
306 | 312 | } |
318 | 324 | output(field.getDeclaringClass().getSimpleName()); |
319 | 325 | output("Fc."); |
320 | 326 | output(field.getName()); |
327 | if (field.isSharedPointer()) | |
328 | output(")"); | |
321 | 329 | if (accessor.isMethodSetter()) |
322 | 330 | output(")"); |
323 | 331 | output(");"); |
324 | 332 | } else if (type.isArray()) { |
325 | 333 | JNIType componentType = type.getComponentType(), componentType64 = type64.getComponentType(); |
326 | 334 | if (componentType.isPrimitive()) { |
335 | if (field.isSharedPointer()) { | |
336 | output("(&"); | |
337 | output("lpStruct->" + accessor); | |
338 | output("));"); | |
339 | } | |
327 | 340 | outputln("{"); |
328 | 341 | output("\t"); |
329 | 342 | output(type.getTypeSignature2(!type.equals(type64))); |
388 | 401 | output("\t}"); |
389 | 402 | } |
390 | 403 | outputln(); |
391 | if (conditional!=null) { | |
404 | if (conditional != null) { | |
392 | 405 | outputln("#endif"); |
393 | 406 | } |
394 | 407 | } |
415 | 428 | output("Fc.cached) cache"); |
416 | 429 | output(simpleName); |
417 | 430 | outputln("Fields(env, lpObject);"); |
418 | if( clazz.getFlag(ClassFlag.ZERO_OUT) ) { | |
419 | outputln("memset(lpStruct, 0, sizeof(struct "+clazzName+"));"); | |
431 | if (clazz.getFlag(ClassFlag.ZERO_OUT)) { | |
432 | outputln("memset(lpStruct, 0, sizeof(struct " + clazzName + "));"); | |
420 | 433 | } |
421 | 434 | generateGetFields(clazz); |
422 | 435 | outputln("\treturn lpStruct;"); |
447 | 460 | if (ignoreField(field)) |
448 | 461 | continue; |
449 | 462 | String conditional = field.getConditional(); |
450 | if (conditional!=null) { | |
451 | outputln("#if "+conditional); | |
463 | if (conditional != null) { | |
464 | outputln("#if " + conditional); | |
452 | 465 | } |
453 | 466 | JNIType type = field.getType(), type64 = field.getType64(); |
454 | 467 | boolean allowConversion = !type.equals(type64); |
455 | ||
468 | ||
456 | 469 | String simpleName = type.getSimpleName(); |
457 | 470 | JNIFieldAccessor accessor = field.getAccessor(); |
458 | 471 | if (type.isPrimitive()) { |
471 | 484 | output("Fc."); |
472 | 485 | output(field.getName()); |
473 | 486 | output(", "); |
474 | output("("+type.getTypeSignature2(allowConversion)+")"); | |
475 | if( field.isPointer() ) { | |
487 | output("(" + type.getTypeSignature2(allowConversion) + ")"); | |
488 | if (field.isPointer()) { | |
476 | 489 | output("(intptr_t)"); |
477 | 490 | } |
478 | 491 | if (!accessor.isNonMemberGetter()) |
482 | 495 | output(getterStart + "("); |
483 | 496 | if (accessor.isNonMemberGetter()) |
484 | 497 | output("lpStruct"); |
498 | if (field.isSharedPointer()) | |
499 | output("->" + field.getName()); | |
485 | 500 | output(")"); |
486 | 501 | } else { |
487 | 502 | output(accessor.getter()); |
503 | } | |
504 | if (field.isSharedPointer()) { | |
505 | output(".get()"); | |
488 | 506 | } |
489 | 507 | output(");"); |
490 | 508 | } else if (type.isArray()) { |
562 | 580 | output("\t}"); |
563 | 581 | } |
564 | 582 | outputln(); |
565 | if (conditional!=null) { | |
583 | if (conditional != null) { | |
566 | 584 | outputln("#endif"); |
567 | 585 | } |
568 | 586 | } |
609 | 627 | } |
610 | 628 | |
611 | 629 | } |
630 |
+1
-0
31 | 31 | public String getConditional(); |
32 | 32 | public boolean ignore(); |
33 | 33 | |
34 | public boolean isSharedPointer(); | |
34 | 35 | public boolean isPointer(); |
35 | 36 | } |
+7
-1
12 | 12 | import java.lang.reflect.Field; |
13 | 13 | import java.util.Arrays; |
14 | 14 | import java.util.HashSet; |
15 | ||
16 | 15 | import org.apache.commons.lang.StringUtils; |
17 | 16 | import org.fusesource.hawtjni.runtime.FieldFlag; |
18 | 17 | import org.fusesource.hawtjni.runtime.JniField; |
99 | 98 | return getFlag(POINTER_FIELD) || ( type.getWrappedClass() == Long.TYPE && getCast().endsWith("*") ); |
100 | 99 | } |
101 | 100 | |
101 | public boolean isSharedPointer() { | |
102 | if (annotation == null) { | |
103 | return false; | |
104 | } | |
105 | return getFlag(SHARED_PTR); | |
106 | } | |
107 | ||
102 | 108 | public String getConditional() { |
103 | 109 | String parentConditional = getDeclaringClass().getConditional(); |
104 | 110 | String myConditional = annotation == null ? null : emptyFilter(annotation.conditional()); |
15 | 15 | limitations under the License. |
16 | 16 | --> |
17 | 17 | <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"> |
18 | <modelVersion>4.0.0</modelVersion> | |
18 | <modelVersion>4.0.0</modelVersion> | |
19 | 19 | |
20 | <parent> | |
21 | <groupId>org.fusesource.hawtjni</groupId> | |
22 | <artifactId>hawtjni-project</artifactId> | |
23 | <version>1.17</version> | |
24 | </parent> | |
20 | <parent> | |
21 | <groupId>org.fusesource.hawtjni</groupId> | |
22 | <artifactId>hawtjni-project</artifactId> | |
23 | <version>1.18</version> | |
24 | </parent> | |
25 | 25 | |
26 | <artifactId>hawtjni-maven-plugin</artifactId> | |
27 | <packaging>maven-plugin</packaging> | |
26 | <artifactId>hawtjni-maven-plugin</artifactId> | |
27 | <packaging>maven-plugin</packaging> | |
28 | 28 | |
29 | <name>HawtJNI Maven Plugin</name> | |
30 | <description>Use HawtJNI from a maven plugin</description> | |
29 | <name>HawtJNI Maven Plugin</name> | |
30 | <description>Use HawtJNI from a maven plugin</description> | |
31 | 31 | |
32 | <prerequisites> | |
33 | <maven>${mavenVersion}</maven> | |
34 | </prerequisites> | |
32 | <prerequisites> | |
33 | <maven>${mavenVersion}</maven> | |
34 | </prerequisites> | |
35 | 35 | |
36 | <properties> | |
37 | <mavenVersion>2.0.6</mavenVersion> | |
38 | <currentVersion>${project.version}</currentVersion> | |
39 | </properties> | |
36 | <properties> | |
37 | <mavenVersion>3.6.3</mavenVersion> | |
38 | <currentVersion>${project.version}</currentVersion> | |
39 | </properties> | |
40 | 40 | |
41 | <dependencies> | |
42 | <dependency> | |
43 | <groupId>org.fusesource.hawtjni</groupId> | |
44 | <artifactId>hawtjni-generator</artifactId> | |
45 | <version>${project.version}</version> | |
46 | </dependency> | |
41 | <dependencies> | |
42 | <dependency> | |
43 | <groupId>org.fusesource.hawtjni</groupId> | |
44 | <artifactId>hawtjni-generator</artifactId> | |
45 | <version>${project.version}</version> | |
46 | </dependency> | |
47 | 47 | |
48 | <!-- Maven --> | |
49 | <dependency> | |
50 | <groupId>org.apache.maven</groupId> | |
51 | <artifactId>maven-plugin-api</artifactId> | |
52 | <version>${mavenVersion}</version> | |
53 | </dependency> | |
54 | <dependency> | |
55 | <groupId>org.apache.maven</groupId> | |
56 | <artifactId>maven-project</artifactId> | |
57 | <version>${mavenVersion}</version> | |
58 | </dependency> | |
48 | <!-- Maven --> | |
49 | <dependency> | |
50 | <groupId>org.apache.maven</groupId> | |
51 | <artifactId>maven-plugin-api</artifactId> | |
52 | <version>${mavenVersion}</version> | |
53 | </dependency> | |
54 | <dependency> | |
55 | <groupId>org.apache.maven</groupId> | |
56 | <artifactId>maven-project</artifactId> | |
57 | <version>2.0.11</version> | |
58 | </dependency> | |
59 | 59 | |
60 | <dependency> | |
61 | <groupId>org.codehaus.plexus</groupId> | |
62 | <artifactId>plexus-utils</artifactId> | |
63 | <version>1.5.15</version> | |
64 | </dependency> | |
60 | <dependency> | |
61 | <groupId>org.codehaus.plexus</groupId> | |
62 | <artifactId>plexus-utils</artifactId> | |
63 | <version>3.3.0</version> | |
64 | </dependency> | |
65 | 65 | |
66 | <dependency> | |
67 | <groupId>org.codehaus.plexus</groupId> | |
68 | <artifactId>plexus-interpolation</artifactId> | |
69 | <version>1.12</version> | |
70 | </dependency> | |
66 | <dependency> | |
67 | <groupId>org.codehaus.plexus</groupId> | |
68 | <artifactId>plexus-interpolation</artifactId> | |
69 | <version>1.26</version> | |
70 | </dependency> | |
71 | 71 | |
72 | <dependency> | |
73 | <groupId>org.apache.maven</groupId> | |
74 | <artifactId>maven-artifact-manager</artifactId> | |
75 | <version>2.0</version> | |
76 | </dependency> | |
77 | <dependency> | |
78 | <groupId>org.apache.maven</groupId> | |
79 | <artifactId>maven-artifact</artifactId> | |
80 | <version>2.0</version> | |
81 | </dependency> | |
72 | <dependency> | |
73 | <groupId>org.apache.maven</groupId> | |
74 | <artifactId>maven-artifact-manager</artifactId> | |
75 | <version>2.0.11</version> | |
76 | </dependency> | |
77 | <dependency> | |
78 | <groupId>org.apache.maven</groupId> | |
79 | <artifactId>maven-artifact</artifactId> | |
80 | <version>2.0.11</version> | |
81 | </dependency> | |
82 | 82 | |
83 | <dependency> | |
84 | <groupId>org.apache.maven</groupId> | |
85 | <artifactId>maven-archiver</artifactId> | |
86 | <version>2.4</version> | |
87 | </dependency> | |
88 | <dependency> | |
89 | <groupId>org.codehaus.plexus</groupId> | |
90 | <artifactId>plexus-archiver</artifactId> | |
91 | <version>1.0-alpha-9</version> | |
92 | <exclusions> | |
93 | <exclusion> | |
94 | <groupId>org.codehaus.plexus</groupId> | |
95 | <artifactId>plexus-container-default</artifactId> | |
96 | </exclusion> | |
97 | <exclusion> | |
98 | <groupId>org.codehaus.plexus</groupId> | |
99 | <artifactId>plexus-component-api</artifactId> | |
100 | </exclusion> | |
101 | </exclusions> | |
102 | </dependency> | |
103 | <dependency> | |
104 | <groupId>org.codehaus.plexus</groupId> | |
105 | <artifactId>plexus-io</artifactId> | |
106 | <version>1.0-alpha-1</version> | |
107 | <exclusions> | |
108 | <exclusion> | |
109 | <groupId>org.codehaus.plexus</groupId> | |
110 | <artifactId>plexus-container-default</artifactId> | |
111 | </exclusion> | |
112 | <exclusion> | |
113 | <groupId>org.codehaus.plexus</groupId> | |
114 | <artifactId>plexus-component-api</artifactId> | |
115 | </exclusion> | |
116 | </exclusions> | |
117 | </dependency> | |
83 | <dependency> | |
84 | <groupId>org.apache.maven</groupId> | |
85 | <artifactId>maven-archiver</artifactId> | |
86 | <version>2.4</version> | |
87 | </dependency> | |
88 | <dependency> | |
89 | <groupId>org.codehaus.plexus</groupId> | |
90 | <artifactId>plexus-archiver</artifactId> | |
91 | <version>4.2.2</version> | |
92 | <exclusions> | |
93 | <exclusion> | |
94 | <groupId>org.codehaus.plexus</groupId> | |
95 | <artifactId>plexus-container-default</artifactId> | |
96 | </exclusion> | |
97 | <exclusion> | |
98 | <groupId>org.codehaus.plexus</groupId> | |
99 | <artifactId>plexus-component-api</artifactId> | |
100 | </exclusion> | |
101 | </exclusions> | |
102 | </dependency> | |
103 | <dependency> | |
104 | <groupId>org.codehaus.plexus</groupId> | |
105 | <artifactId>plexus-io</artifactId> | |
106 | <version>3.2.0</version> | |
107 | <exclusions> | |
108 | <exclusion> | |
109 | <groupId>org.codehaus.plexus</groupId> | |
110 | <artifactId>plexus-container-default</artifactId> | |
111 | </exclusion> | |
112 | <exclusion> | |
113 | <groupId>org.codehaus.plexus</groupId> | |
114 | <artifactId>plexus-component-api</artifactId> | |
115 | </exclusion> | |
116 | </exclusions> | |
117 | </dependency> | |
118 | 118 | |
119 | <dependency> | |
120 | <groupId>org.apache.maven.plugin-tools</groupId> | |
121 | <artifactId>maven-plugin-annotations</artifactId> | |
122 | <version>3.5</version> | |
123 | <scope>provided</scope><!-- annotations are needed only to build the plugin --> | |
124 | </dependency> | |
119 | <dependency> | |
120 | <groupId>org.apache.maven.plugin-tools</groupId> | |
121 | <artifactId>maven-plugin-annotations</artifactId> | |
122 | <version>3.6.0</version> | |
123 | <scope>provided</scope><!-- annotations are needed only to build the plugin --> | |
124 | </dependency> | |
125 | 125 | |
126 | </dependencies> | |
126 | </dependencies> | |
127 | 127 | |
128 | <build> | |
129 | <pluginManagement> | |
130 | <plugins> | |
131 | <plugin> | |
132 | <groupId>org.apache.maven.plugins</groupId> | |
133 | <artifactId>maven-plugin-plugin</artifactId> | |
134 | <version>3.5</version> | |
135 | </plugin> | |
136 | </plugins> | |
137 | </pluginManagement> | |
138 | <plugins> | |
139 | <plugin> | |
140 | <groupId>org.apache.maven.plugins</groupId> | |
141 | <artifactId>maven-plugin-plugin</artifactId> | |
142 | <executions> | |
143 | <execution> | |
144 | <id>default-descriptor</id> | |
145 | <phase>process-classes</phase> | |
146 | </execution> | |
147 | <!-- if you want to generate help goal --> | |
148 | <execution> | |
149 | <id>help-goal</id> | |
150 | <goals> | |
151 | <goal>helpmojo</goal> | |
152 | </goals> | |
153 | </execution> | |
154 | </executions> | |
155 | </plugin> | |
156 | </plugins> | |
157 | </build> | |
128 | <build> | |
129 | <pluginManagement> | |
130 | <plugins> | |
131 | <plugin> | |
132 | <groupId>org.apache.maven.plugins</groupId> | |
133 | <artifactId>maven-plugin-plugin</artifactId> | |
134 | <version>3.6.0</version> | |
135 | </plugin> | |
136 | </plugins> | |
137 | </pluginManagement> | |
138 | <plugins> | |
139 | <plugin> | |
140 | <groupId>org.apache.maven.plugins</groupId> | |
141 | <artifactId>maven-plugin-plugin</artifactId> | |
142 | <executions> | |
143 | <execution> | |
144 | <id>default-descriptor</id> | |
145 | <phase>process-classes</phase> | |
146 | </execution> | |
147 | <!-- if you want to generate help goal --> | |
148 | <execution> | |
149 | <id>help-goal</id> | |
150 | <goals> | |
151 | <goal>helpmojo</goal> | |
152 | </goals> | |
153 | </execution> | |
154 | </executions> | |
155 | </plugin> | |
156 | </plugins> | |
157 | </build> | |
158 | 158 | |
159 | <reporting> | |
160 | <plugins> | |
161 | <plugin> | |
162 | <groupId>org.apache.maven.plugins</groupId> | |
163 | <artifactId>maven-plugin-plugin</artifactId> | |
164 | </plugin> | |
165 | </plugins> | |
166 | </reporting> | |
159 | <reporting> | |
160 | <plugins> | |
161 | <plugin> | |
162 | <groupId>org.apache.maven.plugins</groupId> | |
163 | <artifactId>maven-plugin-plugin</artifactId> | |
164 | </plugin> | |
165 | </plugins> | |
166 | </reporting> | |
167 | 167 | </project> |
16 | 16 | |
17 | 17 | ACLOCAL_AMFLAGS = -I m4 |
18 | 18 | |
19 | AM_CXXFLAGS = -std=gnu++11 | |
20 | ||
19 | 21 | lib_LTLIBRARIES = lib@PROJECT_NAME@.la |
20 | 22 | # lib@PROJECT_NAME_UNDER_SCORE@_la_CFLAGS = |
21 | 23 | #lib@PROJECT_NAME_UNDER_SCORE@_la_LDFLAGS = |
109 | 109 | darwin*) __JNI_INCLUDE_EXTRAS="darwin";; |
110 | 110 | freebsd*) __JNI_INCLUDE_EXTRAS="freebsd";; |
111 | 111 | linux*) __JNI_INCLUDE_EXTRAS="linux genunix";; |
112 | openbsd*) __JNI_INCLUDE_EXTRAS="openbsd";; | |
112 | 113 | osf*) __JNI_INCLUDE_EXTRAS="alpha";; |
113 | 114 | solaris*) __JNI_INCLUDE_EXTRAS="solaris";; |
114 | 115 | mingw*) __JNI_INCLUDE_EXTRAS="win32";; |
52 | 52 | ],[ |
53 | 53 | OSX_SDKS_DIR="" |
54 | 54 | OSX_VERSION="" |
55 | 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 | |
55 | 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 | |
56 | 56 | for location in "/Developer/SDKs" "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs" ; do |
57 | 57 | if test -z "${OSX_VERSION}" && test -d "${location}/MacOSX${v}.sdk" ; then |
58 | 58 | OSX_SDKS_DIR="${location}" |
15 | 15 | limitations under the License. |
16 | 16 | --> |
17 | 17 | <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"> |
18 | <modelVersion>4.0.0</modelVersion> | |
18 | <modelVersion>4.0.0</modelVersion> | |
19 | 19 | |
20 | <parent> | |
21 | <groupId>org.fusesource.hawtjni</groupId> | |
22 | <artifactId>hawtjni-project</artifactId> | |
23 | <version>1.17</version> | |
24 | </parent> | |
20 | <parent> | |
21 | <groupId>org.fusesource.hawtjni</groupId> | |
22 | <artifactId>hawtjni-project</artifactId> | |
23 | <version>1.18</version> | |
24 | </parent> | |
25 | 25 | |
26 | <artifactId>hawtjni-runtime</artifactId> | |
27 | <name>HawtJNI Runtime</name> | |
28 | <description>The API that projects using HawtJNI should build against.</description> | |
26 | <artifactId>hawtjni-runtime</artifactId> | |
27 | <name>HawtJNI Runtime</name> | |
28 | <description>The API that projects using HawtJNI should build against.</description> | |
29 | 29 | |
30 | <build> | |
31 | <plugins> | |
32 | <plugin> | |
33 | <groupId>org.apache.maven.plugins</groupId> | |
34 | <artifactId>maven-jar-plugin</artifactId> | |
35 | <configuration> | |
36 | <archive> | |
37 | <manifestEntries> | |
38 | <Automatic-Module-Name>org.fusesource.hawtjni.runtime</Automatic-Module-Name> | |
39 | </manifestEntries> | |
40 | </archive> | |
41 | </configuration> | |
42 | </plugin> | |
43 | <plugin> | |
44 | <groupId>org.apache.maven.plugins</groupId> | |
45 | <artifactId>maven-javadoc-plugin</artifactId> | |
46 | <executions> | |
47 | <execution> | |
48 | <id>attach-javadocs</id> | |
49 | <goals> | |
50 | <goal>jar</goal> | |
51 | </goals> | |
52 | </execution> | |
53 | </executions> | |
54 | </plugin> | |
55 | </plugins> | |
56 | </build> | |
30 | <build> | |
31 | <plugins> | |
32 | <plugin> | |
33 | <groupId>org.apache.maven.plugins</groupId> | |
34 | <artifactId>maven-jar-plugin</artifactId> | |
35 | <configuration> | |
36 | <archive> | |
37 | <manifestEntries> | |
38 | <Automatic-Module-Name>org.fusesource.hawtjni.runtime</Automatic-Module-Name> | |
39 | </manifestEntries> | |
40 | </archive> | |
41 | </configuration> | |
42 | </plugin> | |
43 | <plugin> | |
44 | <groupId>org.apache.maven.plugins</groupId> | |
45 | <artifactId>maven-javadoc-plugin</artifactId> | |
46 | <executions> | |
47 | <execution> | |
48 | <id>attach-javadocs</id> | |
49 | <goals> | |
50 | <goal>jar</goal> | |
51 | </goals> | |
52 | </execution> | |
53 | </executions> | |
54 | </plugin> | |
55 | </plugins> | |
56 | </build> | |
57 | 57 | |
58 | 58 | </project> |
32 | 32 | POINTER_FIELD, |
33 | 33 | |
34 | 34 | /** |
35 | * Indicate that the field is a shared pointer. | |
36 | */ | |
37 | ||
38 | SHARED_PTR, | |
39 | ||
40 | /** | |
35 | 41 | * Indicate that the getter method used is not part of |
36 | 42 | * the structure. Useful for using wrappers to access |
37 | 43 | * certain structure fields. |
28 | 28 | * <li> "<code>${platform}/${arch}</code>" |
29 | 29 | * <li> "<code>${platform}</code>" |
30 | 30 | * <li> "<code>${os}</code>" |
31 | * <li> "<code></code>" | |
32 | 31 | * </ol> |
33 | 32 | * for 2 namings of the library: |
34 | 33 | * <ol> |
171 | 170 | if( prop!=null ) { |
172 | 171 | return Integer.parseInt(prop); |
173 | 172 | } |
173 | // GraalVM support, see https://github.com/fusesource/jansi/issues/162 | |
174 | String arch = System.getProperty("os.arch"); | |
175 | if (arch.endsWith("64") && "Substrate VM".equals(System.getProperty("java.vm.name"))) { | |
176 | return 64; | |
177 | } | |
174 | 178 | return -1; // we don't know.. |
175 | 179 | } |
176 | 180 |
158 | 158 | |
159 | 159 | /** |
160 | 160 | * Dumps the stats to the print stream in a JSON format. |
161 | * @param ps | |
161 | * @param ps Print stream. | |
162 | 162 | */ |
163 | 163 | public void dump(PrintStream ps) { |
164 | 164 | boolean firstSI=true; |
33 | 33 | val project_forums_url= "http://groups.google.com/group/hawtjni" |
34 | 34 | val project_wiki_url= "https://github.com/fusesource/hawtjni/wiki" |
35 | 35 | val project_logo= "/images/project-logo.png" |
36 | val project_version= "1.16" | |
37 | val project_snapshot_version= "1.17-SNAPSHOT" | |
36 | val project_version= "1.17" | |
37 | val project_snapshot_version= "1.18-SNAPSHOT" | |
38 | 38 | val project_versions = List( |
39 | 39 | project_version, |
40 | "1.16", | |
40 | 41 | "1.15", |
41 | 42 | "1.14", |
42 | 43 | "1.13", |
66 | 67 | val project_maven_artifactId= "hawtjni-runtime" |
67 | 68 | |
68 | 69 | val website_base_url= "http://fusesource.github.io/hawtjni/" |
69 | }⏎ | |
70 | } |
21 | 21 | <parent> |
22 | 22 | <groupId>org.fusesource.hawtjni</groupId> |
23 | 23 | <artifactId>hawtjni-project</artifactId> |
24 | <version>1.16</version> | |
24 | <version>1.17</version> | |
25 | 25 | </parent> |
26 | 26 | |
27 | 27 | <artifactId>hawtjni-website</artifactId> |
793 | 793 | |
794 | 794 | ## Platform Build Tools Requirements |
795 | 795 | |
796 | ### macOS | |
797 | ||
798 | Use brew to install the necessary tools: | |
799 | ||
800 | brew install automake autoconf libtool gcc | |
801 | ||
802 | Make sure the GCC compiler is used by default: | |
803 | ||
804 | cd /usr/local/bin | |
805 | ln -s c++-9 c++ | |
806 | ln -s cpp-9 cpp | |
807 | ln -s g++-9 g++ | |
808 | ln -s gcc-9 gcc | |
809 | export PATH=/usr/local/bin:$PATH | |
810 | rehash | |
811 | ||
796 | 812 | ### Windows |
797 | 813 | |
798 | 814 | Download and install the free [Microsoft Windows SDK][ms_sdk]. The SDK includes |
15 | 15 | limitations under the License. |
16 | 16 | --> |
17 | 17 | <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"> |
18 | <modelVersion>4.0.0</modelVersion> | |
19 | ||
20 | <parent> | |
21 | <groupId>org.fusesource</groupId> | |
22 | <artifactId>fusesource-pom</artifactId> | |
23 | <version>1.11</version> | |
24 | </parent> | |
25 | ||
26 | <groupId>org.fusesource.hawtjni</groupId> | |
27 | <artifactId>hawtjni-project</artifactId> | |
28 | <version>1.17</version> | |
29 | <packaging>pom</packaging> | |
30 | ||
31 | <name>HawtJNI</name> | |
32 | <description>A JNI code generator based on the JNI generator used by the eclipse SWT project</description> | |
33 | ||
34 | <properties> | |
35 | <forge-project-id>hawtjni</forge-project-id> | |
36 | <forge-project-id-uc>HAWTJNI</forge-project-id-uc> | |
18 | <modelVersion>4.0.0</modelVersion> | |
19 | ||
20 | <parent> | |
21 | <groupId>org.fusesource</groupId> | |
22 | <artifactId>fusesource-pom</artifactId> | |
23 | <version>1.12</version> | |
24 | </parent> | |
25 | ||
26 | <groupId>org.fusesource.hawtjni</groupId> | |
27 | <artifactId>hawtjni-project</artifactId> | |
28 | <version>1.18</version> | |
29 | <packaging>pom</packaging> | |
30 | ||
31 | <name>HawtJNI</name> | |
32 | <description>A JNI code generator based on the JNI generator used by the eclipse SWT project</description> | |
33 | ||
34 | <properties> | |
35 | <forge-project-id>hawtjni</forge-project-id> | |
36 | <forge-project-id-uc>HAWTJNI</forge-project-id-uc> | |
37 | <scalate-version>1.6.1</scalate-version> | |
38 | <scalamd-version>1.6</scalamd-version> | |
39 | <slf4j-version>1.7.30</slf4j-version> | |
40 | <jetty-plugin-version>9.4.28.v20200408</jetty-plugin-version> | |
41 | <scala-plugin-version>2.9</scala-plugin-version> | |
42 | <scala-version>2.9.3</scala-version> | |
43 | <maven.compiler.source>8</maven.compiler.source> | |
44 | <maven.compiler.target>8</maven.compiler.target> | |
45 | </properties> | |
46 | ||
47 | <url>http://fusesource.github.io/${forge-project-id}</url> | |
48 | <inceptionYear>2009</inceptionYear> | |
49 | ||
50 | <issueManagement> | |
51 | <system>github</system> | |
52 | <url>https://github.com/fusesource/hawtjni/issues</url> | |
53 | </issueManagement> | |
54 | ||
55 | <mailingLists> | |
37 | 56 | |
38 | <scalate-version>1.5.1</scalate-version> | |
39 | <scalamd-version>1.5</scalamd-version> | |
40 | <slf4j-version>1.6.1</slf4j-version> | |
41 | <jetty-plugin-version>7.0.1.v20091125</jetty-plugin-version> | |
42 | <scala-plugin-version>2.15.2</scala-plugin-version> | |
43 | <scala-version>2.9.0-1</scala-version> | |
44 | </properties> | |
45 | ||
46 | <url>http://fusesource.github.io/${forge-project-id}</url> | |
47 | <inceptionYear>2009</inceptionYear> | |
48 | ||
49 | <issueManagement> | |
50 | <system>github</system> | |
51 | <url>https://github.com/fusesource/hawtjni/issues</url> | |
52 | </issueManagement> | |
53 | ||
54 | <mailingLists> | |
55 | ||
56 | <mailingList> | |
57 | <name>Discussion List</name> | |
58 | <archive>http://groups.google.com/group/${forge-project-id}</archive> | |
59 | <post>${forge-project-id}@googlegroups.com</post> | |
60 | <subscribe>${forge-project-id}+subscribe@googlegroups.com</subscribe> | |
61 | <unsubscribe>${forge-project-id}+unsubscribe@googlegroups.com</unsubscribe> | |
62 | </mailingList> | |
63 | <mailingList> | |
64 | <name>Commits and Issue Tracker List</name> | |
65 | <archive>http://groups.google.com/group/${forge-project-id}-commits</archive> | |
66 | <post>${forge-project-id}-commits@googlegroups.com</post> | |
67 | <subscribe>${forge-project-id}-commits+subscribe@googlegroups.com</subscribe> | |
68 | <unsubscribe>${forge-project-id}-commits+unsubscribe@googlegroups.com</unsubscribe> | |
69 | </mailingList> | |
70 | </mailingLists> | |
71 | ||
72 | <licenses> | |
73 | <license> | |
74 | <name>Eclipse Public License - v 1.0</name> | |
75 | <url>http://www.eclipse.org/legal/epl-v10.html</url> | |
76 | <distribution>repo</distribution> | |
77 | </license> | |
78 | <license> | |
79 | <name>The Apache Software License, Version 2.0</name> | |
80 | <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> | |
81 | <distribution>repo</distribution> | |
82 | </license> | |
83 | </licenses> | |
84 | ||
85 | <scm> | |
86 | <connection>scm:git:https://github.com/fusesource/${forge-project-id}.git</connection> | |
87 | <developerConnection>scm:git:https://github.com/fusesource/${forge-project-id}.git</developerConnection> | |
88 | <url>https://github.com/fusesource/${forge-project-id}/tree/${project.scm.tag}</url> | |
89 | <tag>hawtjni-project-1.17</tag> | |
90 | </scm> | |
91 | ||
92 | <distributionManagement> | |
93 | <repository> | |
94 | <id>sonatype-nexus-staging</id> | |
95 | <name>Sonatype Staging Repository</name> | |
96 | <url> https://oss.sonatype.org/service/local/staging/deploy/maven2</url> | |
97 | </repository> | |
98 | <snapshotRepository> | |
99 | <id>sonatype-nexus-snapshots</id> | |
100 | <name>Sonatype Snapshot Repository</name> | |
101 | <url>https://oss.sonatype.org/content/repositories/snapshots</url> | |
102 | </snapshotRepository> | |
103 | </distributionManagement> | |
104 | ||
105 | <developers> | |
106 | <developer> | |
107 | <id>chirino</id> | |
108 | <name>Hiram Chirino</name> | |
109 | <email>hiram@hiramchirino.com</email> | |
110 | <url>http://hiramchirino.com</url> | |
111 | <timezone>GMT-5</timezone> | |
112 | </developer> | |
113 | </developers> | |
114 | ||
115 | <build> | |
116 | <defaultGoal>install</defaultGoal> | |
117 | ||
118 | <pluginManagement> | |
119 | <plugins> | |
120 | <plugin> | |
121 | <artifactId>maven-compiler-plugin</artifactId> | |
122 | <version>3.6.1</version> | |
123 | <configuration> | |
124 | <source>1.8</source> | |
125 | <target>1.8</target> | |
126 | </configuration> | |
127 | </plugin> | |
128 | <plugin> | |
129 | <groupId>org.apache.maven.plugins</groupId> | |
130 | <artifactId>maven-surefire-plugin</artifactId> | |
131 | <version>2.20</version> | |
132 | <configuration> | |
133 | <failIfNoTests>false</failIfNoTests> | |
134 | </configuration> | |
135 | </plugin> | |
136 | <plugin> | |
137 | <groupId>org.apache.maven.plugins</groupId> | |
138 | <artifactId>maven-javadoc-plugin</artifactId> | |
139 | <version>2.10.4</version> | |
140 | <configuration> | |
141 | <encoding>${project.build.sourceEncoding}</encoding> | |
142 | <excludePackageNames>*.internal</excludePackageNames> | |
143 | <linksource>true</linksource> | |
144 | <links> | |
145 | <link>http://java.sun.com/j2se/1.5.0/docs/api</link> | |
146 | </links> | |
147 | </configuration> | |
148 | </plugin> | |
149 | <plugin> | |
150 | <artifactId>maven-jar-plugin</artifactId> | |
151 | <version>3.0.1</version> | |
152 | </plugin> | |
153 | </plugins> | |
154 | </pluginManagement> | |
155 | ||
156 | <plugins> | |
57 | <mailingList> | |
58 | <name>Discussion List</name> | |
59 | <archive>http://groups.google.com/group/${forge-project-id}</archive> | |
60 | <post>${forge-project-id}@googlegroups.com</post> | |
61 | <subscribe>${forge-project-id}+subscribe@googlegroups.com</subscribe> | |
62 | <unsubscribe>${forge-project-id}+unsubscribe@googlegroups.com</unsubscribe> | |
63 | </mailingList> | |
64 | <mailingList> | |
65 | <name>Commits and Issue Tracker List</name> | |
66 | <archive>http://groups.google.com/group/${forge-project-id}-commits</archive> | |
67 | <post>${forge-project-id}-commits@googlegroups.com</post> | |
68 | <subscribe>${forge-project-id}-commits+subscribe@googlegroups.com</subscribe> | |
69 | <unsubscribe>${forge-project-id}-commits+unsubscribe@googlegroups.com</unsubscribe> | |
70 | </mailingList> | |
71 | </mailingLists> | |
72 | ||
73 | <licenses> | |
74 | <license> | |
75 | <name>Eclipse Public License - v 1.0</name> | |
76 | <url>http://www.eclipse.org/legal/epl-v10.html</url> | |
77 | <distribution>repo</distribution> | |
78 | </license> | |
79 | <license> | |
80 | <name>The Apache Software License, Version 2.0</name> | |
81 | <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> | |
82 | <distribution>repo</distribution> | |
83 | </license> | |
84 | </licenses> | |
85 | ||
86 | <scm> | |
87 | <connection>scm:git:https://github.com/fusesource/${forge-project-id}.git</connection> | |
88 | <developerConnection>scm:git:https://github.com/fusesource/${forge-project-id}.git</developerConnection> | |
89 | <url>https://github.com/fusesource/${forge-project-id}/tree/${project.scm.tag}</url> | |
90 | <tag>hawtjni-project-1.18</tag> | |
91 | </scm> | |
92 | ||
93 | <distributionManagement> | |
94 | <repository> | |
95 | <id>sonatype-nexus-staging</id> | |
96 | <name>Sonatype Staging Repository</name> | |
97 | <url> https://oss.sonatype.org/service/local/staging/deploy/maven2</url> | |
98 | </repository> | |
99 | <snapshotRepository> | |
100 | <id>sonatype-nexus-snapshots</id> | |
101 | <name>Sonatype Snapshot Repository</name> | |
102 | <url>https://oss.sonatype.org/content/repositories/snapshots</url> | |
103 | </snapshotRepository> | |
104 | </distributionManagement> | |
105 | ||
106 | <developers> | |
107 | <developer> | |
108 | <id>chirino</id> | |
109 | <name>Hiram Chirino</name> | |
110 | <email>hiram@hiramchirino.com</email> | |
111 | <url>http://hiramchirino.com</url> | |
112 | <timezone>GMT-5</timezone> | |
113 | </developer> | |
114 | </developers> | |
115 | ||
116 | <build> | |
117 | <defaultGoal>install</defaultGoal> | |
118 | ||
119 | <pluginManagement> | |
120 | <plugins> | |
121 | <plugin> | |
122 | <artifactId>maven-compiler-plugin</artifactId> | |
123 | <version>3.8.1</version> | |
124 | <configuration> | |
125 | <source>${maven.compiler.source}</source> | |
126 | <target>${maven.compiler.target}</target> | |
127 | <forceJavacCompilerUse>true</forceJavacCompilerUse> | |
128 | </configuration> | |
129 | </plugin> | |
130 | <plugin> | |
131 | <groupId>org.apache.maven.plugins</groupId> | |
132 | <artifactId>maven-surefire-plugin</artifactId> | |
133 | <version>3.0.0-M4</version> | |
134 | <configuration> | |
135 | <failIfNoTests>false</failIfNoTests> | |
136 | <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory" /> | |
137 | </configuration> | |
138 | </plugin> | |
139 | <plugin> | |
140 | <groupId>org.apache.maven.plugins</groupId> | |
141 | <artifactId>maven-javadoc-plugin</artifactId> | |
142 | <version>3.2.0</version> | |
143 | <configuration> | |
144 | <source>${maven.compiler.source}</source> | |
145 | <encoding>${project.build.sourceEncoding}</encoding> | |
146 | <excludePackageNames>*.internal</excludePackageNames> | |
147 | </configuration> | |
148 | </plugin> | |
149 | <plugin> | |
150 | <artifactId>maven-jar-plugin</artifactId> | |
151 | <version>3.2.0</version> | |
152 | </plugin> | |
153 | </plugins> | |
154 | </pluginManagement> | |
155 | ||
156 | <plugins> | |
157 | 157 | |
158 | <plugin> | |
159 | <groupId>org.apache.maven.plugins</groupId> | |
160 | <artifactId>maven-idea-plugin</artifactId> | |
161 | <version>2.2.1</version> | |
162 | <configuration> | |
163 | <downloadSources>true</downloadSources> | |
164 | <downloadJavadocs>true</downloadJavadocs> | |
165 | </configuration> | |
166 | </plugin> | |
167 | ||
168 | <plugin> | |
169 | <groupId>org.apache.maven.plugins</groupId> | |
170 | <artifactId>maven-eclipse-plugin</artifactId> | |
171 | <version>2.10</version> | |
172 | <configuration> | |
173 | <downloadSources>true</downloadSources> | |
174 | <downloadJavadocs>true</downloadJavadocs> | |
175 | </configuration> | |
176 | </plugin> | |
177 | </plugins> | |
178 | </build> | |
179 | ||
180 | <reporting> | |
181 | <plugins> | |
182 | <plugin> | |
183 | <groupId>org.apache.maven.plugins</groupId> | |
184 | <artifactId>maven-jxr-plugin</artifactId> | |
185 | <version>2.5</version> | |
186 | <configuration> | |
187 | <aggregate>true</aggregate> | |
188 | </configuration> | |
189 | </plugin> | |
190 | <plugin> | |
191 | <groupId>org.apache.maven.plugins</groupId> | |
192 | <artifactId>maven-javadoc-plugin</artifactId> | |
193 | </plugin> | |
194 | <plugin> | |
195 | <groupId>org.apache.maven.plugins</groupId> | |
196 | <artifactId>maven-project-info-reports-plugin</artifactId> | |
197 | <version>2.9</version> | |
198 | <reportSets> | |
199 | <reportSet> | |
200 | <reports> | |
201 | <report>index</report> | |
202 | <report>summary</report> | |
203 | <report>plugins</report> | |
204 | <report>dependencies</report> | |
205 | <report>mailing-list</report> | |
206 | <report>issue-tracking</report> | |
207 | <report>license</report> | |
208 | <report>scm</report> | |
209 | </reports> | |
210 | </reportSet> | |
211 | </reportSets> | |
212 | </plugin> | |
213 | <plugin> | |
214 | <groupId>org.codehaus.mojo</groupId> | |
215 | <artifactId>surefire-report-maven-plugin</artifactId> | |
216 | </plugin> | |
217 | </plugins> | |
218 | </reporting> | |
219 | ||
220 | <modules> | |
221 | <module>hawtjni-runtime</module> | |
222 | <module>hawtjni-generator</module> | |
223 | <module>hawtjni-maven-plugin</module> | |
224 | <module>hawtjni-example</module> | |
225 | <!-- | |
158 | <plugin> | |
159 | <groupId>org.apache.maven.plugins</groupId> | |
160 | <artifactId>maven-idea-plugin</artifactId> | |
161 | <version>2.2.1</version> | |
162 | <configuration> | |
163 | <downloadSources>true</downloadSources> | |
164 | <downloadJavadocs>true</downloadJavadocs> | |
165 | </configuration> | |
166 | </plugin> | |
167 | ||
168 | <plugin> | |
169 | <groupId>org.apache.maven.plugins</groupId> | |
170 | <artifactId>maven-eclipse-plugin</artifactId> | |
171 | <version>2.10</version> | |
172 | <configuration> | |
173 | <downloadSources>true</downloadSources> | |
174 | <downloadJavadocs>true</downloadJavadocs> | |
175 | </configuration> | |
176 | </plugin> | |
177 | <plugin> | |
178 | <groupId>org.apache.maven.plugins</groupId> | |
179 | <artifactId>maven-compiler-plugin</artifactId> | |
180 | <version>3.8.1</version> | |
181 | <configuration> | |
182 | <source>${maven.compiler.source}</source> | |
183 | <target>${maven.compiler.target}</target> | |
184 | <forceJavacCompilerUse>true</forceJavacCompilerUse> | |
185 | </configuration> | |
186 | </plugin> | |
187 | </plugins> | |
188 | </build> | |
189 | ||
190 | <reporting> | |
191 | <plugins> | |
192 | <plugin> | |
193 | <groupId>org.apache.maven.plugins</groupId> | |
194 | <artifactId>maven-jxr-plugin</artifactId> | |
195 | <version>3.0.0</version> | |
196 | <configuration> | |
197 | <aggregate>true</aggregate> | |
198 | </configuration> | |
199 | </plugin> | |
200 | <plugin> | |
201 | <groupId>org.apache.maven.plugins</groupId> | |
202 | <artifactId>maven-javadoc-plugin</artifactId> | |
203 | </plugin> | |
204 | <plugin> | |
205 | <groupId>org.apache.maven.plugins</groupId> | |
206 | <artifactId>maven-project-info-reports-plugin</artifactId> | |
207 | <version>3.0.0</version> | |
208 | <reportSets> | |
209 | <reportSet> | |
210 | <reports> | |
211 | <report>index</report> | |
212 | <report>summary</report> | |
213 | <report>plugins</report> | |
214 | <report>dependencies</report> | |
215 | <report>mailing-list</report> | |
216 | <report>issue-tracking</report> | |
217 | <report>license</report> | |
218 | <report>scm</report> | |
219 | </reports> | |
220 | </reportSet> | |
221 | </reportSets> | |
222 | </plugin> | |
223 | <plugin> | |
224 | <groupId>org.codehaus.mojo</groupId> | |
225 | <artifactId>surefire-report-maven-plugin</artifactId> | |
226 | </plugin> | |
227 | </plugins> | |
228 | </reporting> | |
229 | ||
230 | <modules> | |
231 | <module>hawtjni-runtime</module> | |
232 | <module>hawtjni-generator</module> | |
233 | <module>hawtjni-maven-plugin</module> | |
234 | <module>hawtjni-example</module> | |
235 | <!-- | |
226 | 236 | <module>hawtjni-website</module> |
227 | --> | |
228 | </modules> | |
237 | --> | |
238 | </modules> | |
229 | 239 | |
230 | 240 | </project> |
6 | 6 | [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 |
7 | 7 | project which is used to generate all the JNI code which powers the eclipse platform. |
8 | 8 | |
9 | [![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) | |
9 | [![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) | |
10 | 10 | |
11 | 11 | Features |
12 | 12 | -------- |