Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions .github/instructions/java-interop.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ Standalone host tooling builds and tooling tests do not require a locally built
Android SDK. The standalone tooling and test target framework is .NET 10 via
`DotNetStableTargetFramework` in the root `Directory.Build.props`, independently of the Android
product's target framework. Follow the Java.Interop
[README](../../external/Java.Interop/README.md#building) and
[build configuration](../../external/Java.Interop/Documentation/BuildConfiguration.md)
[README](../../Documentation/Java.Interop/README.md#building) and
[build configuration](../../Documentation/Java.Interop/BuildConfiguration.md)
for shared build configuration and JDK tool-path settings
(`JavaSdkDirectory`, `JavaCPath`, and `JarPath`).

Expand All @@ -126,5 +126,5 @@ Core JNI tests and Java fixtures live in

- [JNI Specification](https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/jniTOC.html)
- [Android JNI Performance Guide](https://developer.android.com/training/articles/perf-jni)
- `external/Java.Interop/Documentation/Architecture.md`
- `external/Java.Interop/Documentation/BuildConfiguration.md`
- `Documentation/Java.Interop/Architecture.md`
- `Documentation/Java.Interop/BuildConfiguration.md`
7 changes: 4 additions & 3 deletions .github/skills/update-tpn/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,10 @@ Read `.gitmodules` for all submodules. Current submodules and their license file
|-----------|-----|-------------|
| android-api-docs | https://github.com/dotnet/android-api-docs | (not a third-party dep) |

#### Vendored Java.Interop (`external/Java.Interop/`)
Java.Interop is vendored source, not a submodule. Keep its `dotnet/java-interop`
notice; its license is in `external/Java.Interop/LICENSE`.
#### Integrated Java.Interop (`src/Java.Interop*/`)
Java.Interop is integrated source, not a submodule. Keep its `dotnet/java-interop`
notice; its license is in `Documentation/Java.Interop/LICENSE` and its additional
third-party notices are in `Documentation/Java.Interop/ThirdPartyNotices.txt`.

#### Vendored Source (`src-ThirdParty/`)
List contents of `src-ThirdParty/` directory. Current vendored code and license sources:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Java-to-managed calls use generated Java callable wrappers and registered JNI
callbacks. CoreCLR and NativeAOT applications use generated trimmable typemaps for
peer lookup, constructor activation, and callback registration.

See [Java and managed interoperability with the trimmable TypeMap](../../../Documentation/guides/internals/JavaJNI_Interop.md)
See [Java and managed interoperability with the trimmable TypeMap](../guides/internals/JavaJNI_Interop.md)
for the build pipeline, generated callbacks, runtime startup, and activation flow.

## Values and reference ownership
Expand Down Expand Up @@ -200,5 +200,5 @@ lower-level JNI references and argument values used by those wrappers.
.NET 12 removes the obsolete runtime expression-marshaling builder, context,
hooks, and the unused `JniValueManager.ActivatePeer` contract. These are not part
of generated callbacks or trimmable typemap activation. See the
[breaking-change and migration notes](../../../Documentation/release-notes/expression-marshalling-retirement.md)
[breaking-change and migration notes](../release-notes/expression-marshalling-retirement.md)
for the removed APIs and migration guidance.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Build Configuration

The standalone Java.Interop tooling build uses `dotnet` and MSBuild properties.
See the [README](../README.md#building) for preparation and build commands.
See the [README](README.md#building) for preparation and build commands.
Android runtime integration is built as part of the enclosing dotnet/android
[SDK build](../../../Documentation/README.md#building-from-source).
[SDK build](../README.md#building-from-source).

## MSBuild Properties

Projects use the repository's shared
[`Directory.Build.props`](../../../Directory.Build.props) and
[`Configuration.props`](../../../Configuration.props).
[`Directory.Build.props`](../../Directory.Build.props) and
[`Configuration.props`](../../Configuration.props).
MSBuild properties may be placed in the repository-root
`Configuration.Override.props` or passed with `-p:Name=Value`.

Expand All @@ -22,7 +22,7 @@ Overridable MSBuild properties include:
tooling builds, pass `-p:JavaSdkDirectory=/path/to/jdk` to use an installed JDK.
These are used for Java tooling and test fixtures, not a desktop JNI test host.
* `$(MicrosoftAndroidSdkOutDir)`: Output directory for tools such as
[`class-parse`](../../../src/class-parse) and [`generator`](../../../src/generator),
[`class-parse`](../../src/class-parse) and [`generator`](../../src/generator),
within the Android SDK pack's `tools/` directory.
* `$(BuildOutputDirectory)` and `$(TestOutputDirectory)`: Libraries and tooling
tests use `bin/$(Configuration)/net10.0/` and
Expand Down Expand Up @@ -57,8 +57,8 @@ Tooling tests remain under `tests/` and run with
locally built Android SDK; Java/Gradle fixtures still require the configured JDK.

Core JNI interop sources and Java fixtures live in
[`tests/Mono.Android-Tests/Java.Interop-Tests/`](../../../tests/Mono.Android-Tests/Java.Interop-Tests/)
[`tests/Mono.Android-Tests/Java.Interop-Tests/`](../../tests/Mono.Android-Tests/Java.Interop-Tests/)
and run on Android through
[`Mono.Android.NET-Tests.csproj`](../../../tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj).
[`Mono.Android.NET-Tests.csproj`](../../tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj).
These tests require a locally built Android SDK and a device or emulator.
There is no standalone core host-JVM harness or `make run-tests` workflow.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# JNI Invocation Overhead Musings

[tests/PerformanceTests/TimingTests.cs](tests/PerformanceTests/TimingTests.cs)
[tests/PerformanceTests/TimingTests.cs](https://github.com/dotnet/java-interop/blob/c9db386c5457ff6243b3e36d919ca8669f502192/tests/PerformanceTests/TimingTests.cs)
contains various tests to investigate the overheads involved in using JNI to
invoke Java methods. In particular, see the
`Java.Interop.PerformanceTests.JniMethodInvocationOverheadTiming.MethodInvocationTiming()`
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ Some additional context for this project is documented in the [Motivation][motiv
and [Architecture][architecture] pages.

[jni]: http://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/jniTOC.html
[motivation]: Documentation/Motivation.md
[architecture]: Documentation/Architecture.md
[motivation]: Motivation.md
[architecture]: Architecture.md
[android]: https://github.com/dotnet/android

## Building
Expand All @@ -28,7 +28,7 @@ and [Architecture][architecture] pages.

The standalone tooling build does not require a locally built Android SDK.
For the Android product build, follow the enclosing repository's
[build instructions](../../Documentation/README.md#building-from-source).
[build instructions](../README.md#building-from-source).
Libraries and command-line tools live in the repository's top-level `src/`,
tooling tests in `tests/`, and the JNI source generator in
`build-tools/java-interop-jnienv-gen/`. There is no separate bootstrap project
Expand All @@ -43,7 +43,7 @@ dotnet build Java.Interop.slnx

Additional build options are documented [here][build-configuration].

[build-configuration]: Documentation/BuildConfiguration.md
[build-configuration]: BuildConfiguration.md

## Feedback and Contributing

Expand Down
1 change: 1 addition & 0 deletions Documentation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
* [Submitting Bugs, Feature Requests, and Pull Requests][bugs]
* [Directory Structure](project-docs/ExploringSources.md)
* [Assembly store format](project-docs/AssemblyStores.md)
* [Java.Interop](Java.Interop/README.md)

[bugs]: https://github.com/dotnet/android/wiki/Submitting-Bugs,-Feature-Requests,-and-Pull-Requests

Expand Down
2 changes: 1 addition & 1 deletion Localize/LocProject.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"CopyOption": "LangIDOnName",
"SourceFile": ".\\src\\Java.Interop.Localization\\Resources.resx",
"OutputPath": ".\\src\\Java.Interop.Localization",
"LclFile": "external\\Java.Interop\\Localize\\loc\\{Lang}\\src\\Java.Interop.Localization\\Resources.resx.lcl"
"LclFile": "Localize\\loc\\{Lang}\\src\\Java.Interop.Localization\\Resources.resx.lcl"
},
{
"CopyOption": "LangIDOnName",
Expand Down
45 changes: 0 additions & 45 deletions external/Java.Interop/.gitattributes

This file was deleted.

20 changes: 0 additions & 20 deletions external/Java.Interop/.gitignore

This file was deleted.

Loading