Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A convenience jar that contains all the native dispatch libraries #523

Closed
wants to merge 41 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
6f20e6c
A single jar I can include and make JNA work in Intellij Idea as a mo…
Oct 23, 2015
96da673
Added initialization and conversion between Windows SYSTEMTIME and Ja…
Oct 27, 2015
aa0fffc
Merge pull request #526 from lgoldstein/systime-init
dblock Oct 27, 2015
f0b6b12
test for issue #520
mlfreeman2 Oct 31, 2015
84041b3
updating test to remove println()s and add more assertions
mlfreeman2 Nov 1, 2015
a902476
Merge pull request #527 from mlfreeman2/master
dblock Nov 2, 2015
9036d9f
Added new library Mpr and functions to Netapi32
amarcionek Nov 6, 2015
23ef0b4
Merge pull request #532 from amarcionek/mprlib
dblock Nov 7, 2015
db86ae6
Added Win32 mappings.
mlfreeman2 Nov 16, 2015
85a7bad
Use unicode escapes to avoid w32 compilation errors
twall Nov 22, 2015
54aa55f
Drop StdCallLibrary inheritance from non-library interfaces
twall Nov 22, 2015
5355187
fix mappings to properly work on 32-bit windows (fixes memory faults)
twall Nov 22, 2015
7771d8a
Ensure COM tests are run as part of w32 platform tests
twall Nov 22, 2015
8003775
use proper type sizes
twall Nov 22, 2015
f3a25d9
Merge pull request #541 from java-native-access/w32api-cleanup
dblock Nov 22, 2015
74de7e6
Avoid overwriting test results from different platforms
twall Nov 23, 2015
f62b571
Merge pull request #542 from java-native-access/w32api-cleanup
twall Nov 23, 2015
48bf0ff
Kernel32.ProcessIdToSessionId and resource extraction functions (Find…
mlfreeman2 Nov 24, 2015
7fe56b6
Merge pull request #543 from mlfreeman2/kernel32-additional-1
dblock Nov 28, 2015
4b4fc88
Add GetSystemTimes() to Kernel32
dbwiddis Nov 29, 2015
b975cc1
fix javadoc errors
twall Nov 30, 2015
5ec9eeb
Merge pull request #547 from dbwiddis/master
dblock Nov 30, 2015
b984cf6
Added EnumResourceTypes and EnumResourceNames to Kernel32
mlfreeman2 Nov 29, 2015
e4e0968
Merge pull request #545 from mlfreeman2/kernel32-additional-2
dblock Dec 1, 2015
40a74d1
Return 64-bit unsigned integer from FILETIME
dbwiddis Dec 1, 2015
7f3c757
Merge pull request #548 from dbwiddis/master
twall Dec 2, 2015
be1927f
Merge remote-tracking branch 'upstream/master'
Dec 4, 2015
21a537f
Make sure the Structure constructors are always chained in, so QueryI…
Oct 23, 2015
61b9ae4
Needed function to get My Computer shell object from Shell32
Oct 23, 2015
1d3de29
Shlwapi wrapper
Oct 23, 2015
bacc552
Necessary interfaces for enumerating items in My Computer
Oct 23, 2015
4905699
An example into how to use the interfaces and functions in this pull …
Oct 23, 2015
fd7a19a
Added assertions for COM success status
Oct 24, 2015
8422373
Clarified changes.md
Oct 24, 2015
7e106e4
Added documentation
Oct 24, 2015
c701004
Copyright notice replaced with a author tag
Oct 24, 2015
cd3ef8d
Add documentation to IEnumIDList
Dec 4, 2015
a3de8d6
Document the IUnknown methods too
Dec 4, 2015
a5604ef
Documentation for IShellFolder too
Dec 4, 2015
6c7afcc
Pull in autojar
Dec 4, 2015
5d65177
Bring in ishellfolder
Dec 4, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 27 additions & 3 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,40 @@ NOTE: as of JNA 4.0, JNA is now dual-licensed under LGPL and ASL (see LICENSE).

NOTE: JNI native support is typically incompatible between minor versions, and almost always incompatible between major versions.

Next release
============

Features
--------
* [#526](https://github.com/java-native-access/jna/pull/526): Added initialization and conversion between Windows SYSTEMTIME and Java Calendar [@lgoldstein](https://github.com/lgoldstein)
* [#532](https://github.com/java-native-access/jna/pull/529): Added `com.sun.jna.platform.win32.Mpr`, `com.sun.jna.platform.win32.LmShare`, and `com.sun.jna.platform.win32.Winnetwk` - [@amarcionek](https://github.com/amarcionek).
* [#532](https://github.com/java-native-access/jna/pull/529): Added `ACCESS_*` definitions to `com.sun.jna.platform.win32.LmAccess` - [@amarcionek](https://github.com/amarcionek).
* [#532](https://github.com/java-native-access/jna/pull/529): Added `NetShareAdd` and `NetShareDel` to `com.sun.jna.platform.win32.Netapi32` - [@amarcionek](https://github.com/amarcionek).
* [#535](https://github.com/java-native-access/jna/pull/535): Added `CreateProcessWithLogonW` to `com.sun.jna.platform.win32.Advapi32` - [@mlfreeman2](https://github.com/mlfreeman2).
* [#535](https://github.com/java-native-access/jna/pull/535): Added `CertAddEncodedCertificateToSystemStore` to `com.sun.jna.platform.win32.Crypt32` - [@mlfreeman2](https://github.com/mlfreeman2).
* [#535](https://github.com/java-native-access/jna/pull/535): Added `BitBlt` to `com.sun.jna.platform.win32.GDI32`, Added `com.sun.jna.platform.win32.GDI32Util` and added `getScreenshot()` to it - [@mlfreeman2](https://github.com/mlfreeman2).
* [#535](https://github.com/java-native-access/jna/pull/535): Added `SHEmptyRecycleBin`, `ShellExecuteEx` to `com.sun.jna.platform.win32.Shell32` - [@mlfreeman2](https://github.com/mlfreeman2).
* [#535](https://github.com/java-native-access/jna/pull/535): Added `GetDesktopWindow` to `com.sun.jna.platform.win32.User32` - [@mlfreeman2](https://github.com/mlfreeman2).
* [#543](https://github.com/java-native-access/jna/pull/543): Added `ProcessIdToSessionId`, `LoadLibraryEx`, `FreeLibrary` and `Find/Load/Lock/SizeofResource` to `com.sun.jna.platform.win32.Kernel32` - [@mlfreeman2](https://github.com/mlfreeman2).
* [#545](https://github.com/java-native-access/jna/pull/545): Added `EnumResourceTypes` and `EnumResourceNames` to `com.sun.jna.platform.win32.Kernel32` - [@mlfreeman2](https://github.com/mlfreeman2).
* [#547](https://github.com/java-native-access/jna/pull/547): Added `GetSystemTimes` to `com.sun.jna.platform.win32.Kernel32` - [@dbwiddis](https://github.com/dbwiddis).
* [#548](https://github.com/java-native-access/jna/pull/548): Return 64-bit unsigned integer from `com.sun.jna.platform.win32.WinBase.FILETIME` - [@dbwiddis](https://github.com/dbwiddis).

Bug Fixes
---------

Release 4.2.1
=============

Features
--------
* [#504](https://github.com/java-native-access/jna/pull/504): Add support for linux-sparcv9 [@alexvsimon](https://github.com/alexvsimon).
* [#504](https://github.com/java-native-access/jna/pull/504): Add support for linux-sparcv9 - [@alexvsimon](https://github.com/alexvsimon).
* [#510](https://github.com/java-native-access/jna/pull/510): Added `GetCommState`, `GetCommTimeouts` `SetCommState` and `SetCommTimeouts` to `com.sun.jna.platform.win32.Kernel32`. Added `DCB` structure to `com.sun.jna.platform.win32.WinBase` - [@MBollig](https://github.com/MBollig).
* [#512](https://github.com/java-native-access/jna/pull/512): Make loading debug flags mutable [@lwahonen](https://github.com/lwahonen).
* [#514](https://github.com/java-native-access/jna/pull/514): Added `host_processor_info` to `com.sun.jna.platform.mac.SystemB` - [@dbwiddis](https://github.com/dbwiddis).
* [#519](https://github.com/java-native-access/jna/pull/519): Added JNA functional overview - [@twall](https://github.com/twall).
* [#523](https://github.com/java-native-access/jna/pull/): Add a convenience jar that contains all native dispatch libraries. If you want to hacking on JNA with an IDE, just include native-dispatch-libs.jar to your classpath and create a module from the JNA src directory. - [@lwahonen](https://github.com/lwahonen).
* [#524](https://github.com/java-native-access/jna/pull/524): Added IShellFolder interface plus necessary utility functions to Windows platform, and a sample for enumerating objects in My Computer - [@lwahonen](https://github.com/lwahonen).
* [#528](https://github.com/java-native-access/jna/pull/528): Added idea-jar ant task that creates a convenience jar that contains all native dispatch libraries - [@lwahonen](https://github.com/lwahonen).

Bug Fixes
Expand Down Expand Up @@ -87,10 +111,10 @@ Bug Fixes
* Remove unsupported JAWT from OSX build - [@twall](https://github.com/twall).
* Disable WebStart tests - [@twall](https://github.com/twall).
* Dispose all native resources when JNA's native library is unloaded - Paul Grütter, [@twall](https://github.com/twall).
* Weakly hold registered direct-mapped classes - [@twall](https://github.com/twall).
* Weakly hold registered direct-mapped classes - [@twall](https://github.com/twall).
* [#382](https://github.com/java-native-access/jna/pull/382): Fixed memory allocation in `com.sun.jna.platform.win32.WTypes.LPWSTR` and `LPSTR` constructors - [@junak-michal](https://github.com/junak-michal).
* Fix publish doc links - [@bhamail](https://github.com/bhamail).
* [#388](https://github.com/java-native-access/jna/issues/388): Ensure native library always opened with provided flags - [@zolyfarkas](https://github.com/zolyfarkas).
* [#388](https://github.com/java-native-access/jna/issues/388): Ensure native library always opened with provided flags - [@zolyfarkas](https://github.com/zolyfarkas).
* [#403](https://github.com/java-native-access/jna/pull/403): Fix `com.sun.jna.platform.win32.COM.COMUtils.SUCCEEDED` and `FAILED` - [@lwahonen](https://github.com/lwahonen).
* [#404](https://github.com/java-native-access/jna/pull/404): Fix `VARIANT` constructors for `int`, `short`, and `long` - [@lwahonen](https://github.com/lwahonen).
* [#420](https://github.com/java-native-access/jna/pull/420): Fix structure leaving always one element in ThreadLocal set - [@sjappig](https://github.com/sjappig).
Expand Down
12 changes: 8 additions & 4 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@
<path id="test.libs">
<fileset dir="lib">
<include name="junit.jar"/>
<include name="hamcrest-core-1.3.jar"/>
</fileset>
<fileset dir="lib/test"/>
<pathelement path="${classes}"/>
Expand Down Expand Up @@ -520,7 +521,7 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
<subant target="jar" failonerror="true">
<property name="file.reference.jna.build" location="${build}"/>
<property name="file.reference.jna.jar" location="${build}/${jar}"/>
<property name="libs.junit.classpath" location="lib/junit.jar"/>
<property name="libs.junit.classpath" refid="test.libs"/>
<property name="javac.source" value="${platform.compatibility}"/>
<property name="javac.target" value="${platform.compatibility}"/>
<!-- OSGi manifest properties -->
Expand All @@ -543,7 +544,7 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
<subant target="jar" failonerror="true">
<property name="file.reference.jna.build" location="${build}"/>
<property name="file.reference.jna.jar" location="${build}/${jar}"/>
<property name="libs.junit.classpath" location="lib/junit.jar"/>
<property name="libs.junit.classpath" refid="test.libs"/>
<fileset dir="${contrib}" includes="*/build.xml" excludes="platform/build.xml"/>
</subant>
</target>
Expand Down Expand Up @@ -977,7 +978,10 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
<condition property="tests.exclude" value="${tests.stdcall}">
<and><os family="windows"/><not><os arch="x86"/></not></and>
</condition>
<condition property="tests.platform" value="**/unix/*Test.java">
<condition property="tests.platform" value="**/mac/**/*Test.java">
<os family="mac"/>
</condition>
<condition property="tests.platform" value="**/unix/**/*Test.java">
<and>
<os family="unix"/>
<not><os family="mac"/></not>
Expand Down Expand Up @@ -1031,7 +1035,7 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
<subant target="test" failonerror="true" inheritall="true" inheritrefs="true">
<property name="file.reference.jna.build" location="${build}"/>
<property name="file.reference.jna.jar" location="${build}/${jar}"/>
<property name="libs.junit.classpath" location="lib/junit.jar"/>
<property name="libs.junit.classpath" refid="test.libs"/>
<property name="javac.source" value="${test.compatibility}"/>
<property name="javac.target" value="${test.compatibility}"/>
<fileset dir="${contrib}" includes="platform/build.xml"/>
Expand Down
25 changes: 13 additions & 12 deletions contrib/platform/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,16 +108,17 @@ com.sun.jna.platform.wince
<target name="test" depends="init,compile,compile-test,-pre-test-run" description="Run platform unit tests.">
<echo>Running platform tests: ${test.src.dir}</echo>
<property name="test.fork" value="yes"/>
<property name="build.test.results.dir.abs" location="${build.test.results.dir}"/>
<mkdir dir="${build.test.results.dir.abs}"/>
<echo>Saving test results in ${build.test.results.dir.abs}</echo>
<condition property="tests.platform" value="**/mac/**">
<property name="reports.junit" location="${build}/reports/junit/${os.prefix}"/>
<property name="results.junit" location="${build}/junit-results/${os.prefix}"/>
<mkdir dir="${results.junit}"/>
<echo>Saving test results in ${results.junit}</echo>
<condition property="tests.platform" value="**/mac/**/*Test.java">
<os family="mac"/>
</condition>
<condition property="tests.platform" value="**/win32/**">
<condition property="tests.platform" value="**/win32/**/*Test.java">
<os family="windows"/>
</condition>
<condition property="tests.platform" value="**/unix/**">
<condition property="tests.platform" value="**/unix/**/*Test.java">
<os family="unix"/>
</condition>
<property name="tests.platform" value=""/>
Expand Down Expand Up @@ -151,23 +152,23 @@ com.sun.jna.platform.wince
<classpath><path path="${run.test.classpath}"/><path path="${file.reference.jna.build}/test-classes"/></classpath>
<formatter type="brief" usefile="false"/>
<formatter type="xml"/>
<batchtest todir="${build.test.results.dir}">
<batchtest todir="${results.junit}">
<fileset dir="${test.src.dir}" excludes="${tests.exclude-patterns}">
<!-- Until StructureFieldOrderTest gets fixed up a little -->
<exclude name="**/StructureFieldOrderTest.java"/>
<include name="com/sun/jna/platform/*Test.java"/>
<exclude name="com/sun/jna/platform/AbstractWin32TestSupport.java"/>
<include name="${tests.platform}"/>
<exclude name="${tests.exclude}"/>
</fileset>
</batchtest>
</junit>
<junitreport todir="${build.test.results.dir}">
<fileset dir="${build.test.results.dir}">
<junitreport todir="${results.junit}">
<fileset dir="${results.junit}">
<include name="TEST-*.xml"/>
</fileset>
<report todir="${build.test.results.dir}"/>
<report todir="${reports.junit}"/>
</junitreport>
<echo message="View test report in file://${build.test.results.dir.abs}/index.html" />
<echo message="View test report in file://${reports.junit}/index.html" />
<fail if="testfailure">One or more tests failed</fail>
</target>

Expand Down
Loading