jetifire v1.2.6
Jetifire - A fast Node implementation
Jetifire tool migrates support-library-dependent libraries to rely on the equivalent AndroidX packages instead.
Created using nodejs, it is dependency free and read/writes files asynchronously, that means it is very fast ⚡
Benchmark
s
This is a very fast Node port of Mike Hardy's bash version (https://github.com/mikehardy/jetifier)
Generating files
mkdir -p node_modules/testing
for i in {0..1000}
do
echo "import android.arch.core.util.Function;" > node_modules/testing/file_$i.java
doneRunning benchmark
Bash version
npx jetify : 44.994 secondsThis version
npx jetifire : 2.325 secondsInstall Jetifire
To install jetifire, run the following command:
npm install --save jetifireUsage
To process your libraries, simply run the jetifire command by putting it in an npm script or as a post install script.
- Run the Jetifire
./node_modules/.bin/jetifireReverse mode
./node_modules/.bin/jetifire reverse- (Optional) add a
postinstallscript to yourpackage.json:"postinstall": "jetifire"
Usage notes
Jetifire reads all your node_modules folder and looks for .java, .kt and .xml files, and then changes any android.support.* imports to its corresponding androidx.*.
If there is a type in an android.support.* package that does not come from any support library artifact, Jetifire still migrates the type as long as there is a mapping for it. However, this migration is not guaranteed to work, as there might not be mapping rules general enough to cover all the custom types.
Credits & Licence
Credits
Mike Hardy - for the original React Native Jetifier tool
Licence
Licensed under the CreativeCommons Attribution 2.5 License
- Free for use in both personal and commercial projects.
- Attribution requires leaving author name, author homepage link, and the license info intact.