A fork of nb-javac for Android.

Overview

Maven Central

nb-javac-android

nb-javac is a patched version of OpenJDK "javac", i.e., the Java compiler. This has long been part of NetBeans, providing a highly tuned Java compiler specifically for the Java editor i.e., parsing and lexing for features such as syntax coloring, code completion.

nb-javac-android is a patched version of nb-javac. It allows developers to use javac i.e. the Java Compiler in android applications.

This version of nb-javac is meant to be used with AndroidIDE. If you want to use it in your project, you might need to do some modifications. See Issue #1 for more information.

Building nb-javac jar files

Prerequisite

  • Git
  • Ant 1.9.9 or above
  • JDK 8 (to build nb-javac). Other versions are not recommended.
  • Apache Maven

Build the project

  1. Obtain the code with the following command
$ git clone https://github.com/itsaky/nb-javac-android.git
  1. To get a specific version use the following command
$ git checkout <release_tag_name> 
  1. Run the below command to build nb-javac.
$ ant -f ./make/langtools/netbeans/nb-javac clean jar

A JAR named nb-javac-<ver>-android.jar will be generatead at location ./make/langtools/netbeans/nb-javac/dist/

  1. Run below command to zip the source code of nb-javac
$ ant -f ./make/langtools/netbeans/nb-javac zip-nb-javac-sources

Publishing to maven central / OSSRH

  1. Aquire an account for OSSRH from sonatype and get access to the target groupId See here: https://central.sonatype.org/pages/ossrh-guide.html

  2. Configure the maven installation so that the credentials are made available for the server with the id oss.sonatype.org

  3. Run

    ant -f ./make/langtools/netbeans/nb-javac publish-to-ossrh-snapshots -Dmaven.groupId=your.grp.id
    

    to publish snapshot artifacts (https://oss.sonatype.org/content/repositories/snapshots/)

  4. Run

    ant -f ./make/langtools/netbeans/nb-javac publish-to-maven-central -Dmaven.groupId=your.grp.id
    

    to stage the release, which will get promoted to maven central, after it has been manually released.

Documentation

nb-javac help

  • Subscribe or mail the [email protected] list - Ask questions, find answers, and also help other users.
  • Subscribe or mail the [email protected] list - Join development discussions, propose new ideas and connect with contributors.

Contributing

See the Contributing Policy

Security

See the Security Policy

You might also like...
gRPC and protocol buffers for Android, Kotlin, and Java.

Wire “A man got to have a code!” - Omar Little See the project website for documentation and APIs. As our teams and programs grow, the variety and vol

✔️ Secure, simple key-value storage for Android
✔️ Secure, simple key-value storage for Android

Hawk 2.0 Secure, simple key-value storage for android Important Note This version has no backward compatibility with Hawk 1+ versions. If you still wa

A robust native library loader for Android.
A robust native library loader for Android.

ReLinker A robust native library loader for Android. More information can be found in our blog post Min SDK: 9 JavaDoc Overview The Android PackageMan

A lightning fast, transactional, file-based FIFO for Android and Java.

Tape by Square, Inc. Tape is a collection of queue-related classes for Android and Java. QueueFile is a lightning-fast, transactional, file-based FIFO

Joda-Time library with Android specialization

joda-time-android This library is a version of Joda-Time built with Android in mind. Why Joda-Time? Android has built-in date and time handling - why

a SharedPreferences replacement for Android with multiprocess support
a SharedPreferences replacement for Android with multiprocess support

DEPRECATED - no longer actively maintained Tray - a SharedPreferences replacement for Android If you have read the documentation of the SharedPreferen

OpenKeychain is an OpenPGP implementation for Android.
OpenKeychain is an OpenPGP implementation for Android.

OpenKeychain (for Android) OpenKeychain is an OpenPGP implementation for Android. For a more detailed description and installation instructions go to

UPnP/DLNA library for Java and Android

Cling EOL: This project is no longer actively maintained, code may be outdated. If you are interested in maintaining and developing this project, comm

WebSocket & WAMP in Java for Android and Java 8

Autobahn|Java Client library providing WAMP on Java 8 (Netty) and Android, plus (secure) WebSocket for Android. Autobahn|Java is a subproject of the A

Comments
  • Compiler doesn't recognise classpath jars

    Compiler doesn't recognise classpath jars

    Upon running it on a test app, the nb-javac-android compiler complains of no classpath containing java.lang.* class files even tho it is present whereas nb-javac from CodeAssist (again with the same arguments) works fine. This seems like an issue with scanning jar files?

    opened by PranavPurwar 6
Releases(v17.0.0.3)
Owner
Akash Yadav
Student
Akash Yadav
Highly optimized Airplane fork focusing on stability and performance.

Sugarcane Highly optimized Airplane fork focusing on stability and performance. NOTE: We borrow some patches from Yatopia Reminder This project is sti

SugarcaneMC 93 Dec 15, 2022
Android Shared preference wrapper than encrypts the values of Shared Preferences. It's not bullet proof security but rather a quick win for incrementally making your android app more secure.

Secure-preferences - Deprecated Please use EncryptedSharedPreferences from androidx.security in preferenced to secure-preference. (There are no active

Scott Alexander-Bown 1.5k Dec 24, 2022
Android library which makes it easy to handle the different obstacles while calling an API (Web Service) in Android App.

API Calling Flow API Calling Flow is a Android library which can help you to simplify handling different conditions while calling an API (Web Service)

Rohit Surwase 19 Nov 9, 2021
Gesture detector framework for multitouch handling on Android, based on Android's ScaleGestureDetector

Android Gesture Detectors Framework Introduction Since I was amazed Android has a ScaleGestureDetector since API level 8 but (still) no such thing as

null 1.1k Nov 30, 2022
Use Android as Rubber Ducky against another Android device

Use Android as Rubber Ducky against another Android device

null 1.4k Jan 9, 2023
Android Utilities Library build in kotlin Provide user 100 of pre defined method to create advanced native android app.

Android Utilities Library build in kotlin Provide user 100 of pre defined method to create advanced native android app.

Shahid Iqbal 4 Nov 29, 2022
A util for setting status bar style on Android App.

StatusBarUtil A util for setting status bar style on Android App. It can work above API 19(KitKat 4.4). 中文版点我 Sample Download StatusBarUtil-Demo Chang

Jaeger 8.8k Jan 6, 2023
A logger with a small, extensible API which provides utility on top of Android's normal Log class.

This is a logger with a small, extensible API which provides utility on top of Android's normal Log class. I copy this class into all the little apps

Jake Wharton 9.8k Dec 30, 2022
Java implementation of a Disk-based LRU cache which specifically targets Android compatibility.

Disk LRU Cache A cache that uses a bounded amount of space on a filesystem. Each cache entry has a string key and a fixed number of values. Each key m

Jake Wharton 5.7k Dec 31, 2022
a simple cache for android and java

ASimpleCache ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。 1、它可以缓存什么东西? 普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 b

Michael Yang 3.7k Dec 14, 2022