Skip to content

Commit b1a3ec0

Browse files
committed
update windows batch script for generating android defs
update README
1 parent aeb29a7 commit b1a3ec0

File tree

3,059 files changed

+66
-113919
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,059 files changed

+66
-113919
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
/captures
1212

1313
/out
14+
/output
1415
/newApp
1516
/dts_gen_app
1617
testparams.txt

.vscode/.BROWSE.VC.DB

4 KB
Binary file not shown.

.vscode/.BROWSE.VC.DB-wal

1.17 MB
Binary file not shown.

README.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,43 @@
11
# android-dts-generator
22
A tool that generates TypeScript declaration files (.d.ts) from Jars
3+
4+
> Because there are certain incompatibilities between Java and TypeScript, definitions MAY NOT always be completely accurate. They will however compile and provide auto complete feature inside a modern text editor supporting typings.
5+
6+
### Quirks
7+
- Interfaces are represented by classes, this will allow you to extend them by using the `new` syntax, as well as show you all its members that need to be implemented
8+
- Classes from the package `java.util.function` don't have their typings generated, as `function` is a reserved keyword in TypeScript and JavaScript
9+
- Classes returning values of Type in the package `java.util.function` will return `any` instead
10+
- Classes using methods with parameters of Type in the package `java.util.function` will take `any` instead
11+
- Classes implementing `java.util.Iterator`, `android.animation.TypeEvaluator`, `java.lang.Comparable` do not implement those interfaces in the generated definitions for compatibility-related issues
12+
13+
14+
### Generate definitons for Android SDK
15+
```shell
16+
cd dts-generator
17+
gradlew jar
18+
java -jar build\libs\dts-generator.jar -input %ANDROID_HOME%\platforms\android-<Platform Level (21/22/23/24)>\android.jar
19+
```
20+
21+
### Generate definitions for any Jar
22+
```shell
23+
cd dts-generator
24+
gradlew jar
25+
java -jar build\libs\dts-generator.jar -input <Path to your Jar>
26+
```
27+
28+
### Pass multiple jars to generator
29+
```shell
30+
cd dts-generator
31+
gradlew jar
32+
java -jar build\libs\dts-generator.jar -input <jar1> <jar2> <jar3>
33+
```
34+
35+
### Generate definitions for .aar
36+
```
37+
Open the .aar archive
38+
Extract the classes.jar and any dependencies it may have inside libs/
39+
Rename classes.jar if necessary
40+
```
41+
```shell
42+
java - jar build\libs\dts-generator.jar -input classes.jar dependency-of-classes-jar.jar
43+
```

dts-generator/generate.win.bat

Lines changed: 0 additions & 19 deletions
This file was deleted.

gen-gradle.win.bat

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
cd dts-generator
2+
3+
gradlew jar

generate.win.bat

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
start cmd.exe /C gen-gradle.win.bat
2+
3+
rmdir /s /q output
4+
5+
mkdir output\android-21
6+
mkdir output\android-22
7+
mkdir output\android-23
8+
mkdir output\android-24
9+
10+
java -jar dts-generator\build\libs\dts-generator.jar -input %ANDROID_HOME%\platforms\android-21\android.jar dts-generator\jars\21.0.3\internal-v4.jar dts-generator\jars\21.0.3\v4.jar dts-generator\jars\21.0.3\v7.jar -output output\android-21
11+
12+
java -jar dts-generator\build\libs\dts-generator.jar -input %ANDROID_HOME%\platforms\android-22\android.jar dts-generator\jars\22.2.0\internal-v4.jar dts-generator\jars\22.2.0\v4.jar dts-generator\jars\22.2.0\v7.jar -output output\android-22
13+
14+
java -jar dts-generator\build\libs\dts-generator.jar -input %ANDROID_HOME%\platforms\android-23\android.jar dts-generator\jars\23.3.0\internal-v4.jar dts-generator\jars\23.3.0\v4.jar dts-generator\jars\23.3.0\v7.jar -output output\android-23
15+
16+
java -jar dts-generator\build\libs\dts-generator.jar -input %ANDROID_HOME%\platforms\android-24\android.jar dts-generator\jars\24.1.0\internal-v4.jar dts-generator\jars\24.1.0\v4.jar dts-generator\jars\24.1.0\v7.jar -output output\android-24
17+
18+
xcopy /f /y _helpers.d.ts output\android-21
19+
xcopy /f /y _helpers.d.ts output\android-22
20+
xcopy /f /y _helpers.d.ts output\android-23
21+
xcopy /f /y _helpers.d.ts output\android-24

out_original/_helpers.d.ts

Lines changed: 0 additions & 5 deletions
This file was deleted.

out_original/android.Manifest.d.ts

Lines changed: 0 additions & 159 deletions
This file was deleted.

0 commit comments

Comments
 (0)