×

Status message

This proposal has been approved and the Eclipse Andmore project has been created.

Andmore - Eclipse Android Tooling

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Background: 

Some of the components in Andmore were originally written for the DSDP/TmL and DSDP/MTJ projects. Some of the components were written for the Tools/Sequoyah project. Some of the components were authored by Motorola Mobility and contributed to the Android Open Source Project in 2012. The ADT Eclipse plugins are from the Android Open Source Project.

The Andmore project has Google's blessing to fork the code for ADT and the former Motorola “MOTODEV” plugins as part of this project.

Scope: 

The scope of the project is to develop and maintain technologies for creating Android applications. This ranges from creating new Eclipse components and updating existing components that support Android development to a downloadable package that can be used for new developers and students. The project aims to maintain the parity with current development trends in phones, tablets, smart watches, smart TVs, embedded Android, and future directions for Android development.

The Andmore EPP package will have the core IDE, JDT, CDT, the Android Eclipse plugins, Maven, Gradle, Gerrit, Git, and the relevant functionality from the former MOTODEV tools. The purpose of this package is is to provide an environment that is easily installed and configured for the least amount of confusion and the quickest time to development. Download the official Android SDK and Proteus, that's all you need.

The project will not focus on teaching new developers how to write Android applications.

Description: 

The purpose of Andmore is to provide Android Eclipse tooling without having to go through multiple steps.

The technology development will involve integrating and refactoring the Google ADT plugins as necessary to work with the project. Similarly, the former MOTODEV plugins have many useful components that can be integrated into the project. Once these are integrated, new components may be added.

There have been several attempts at this in the past, as EPP projects and commercial endeavors with varied success. The aim of this project is to integrate several open source projects that have been abandoned or will soon cease to be supported and combine them with the ongoing needs of Android developers.

Andmore includes:

  • JDT for Android Java applications.

  • CDT for C/C++ shared libraries.

  • Gradle builds via the Spring Gradle Tools for Eclipse Project.

  • Maven Build support via the M2E-Android Eclipse Plugin.

  • Ant support via the built in Eclipse support for ANT.

  • A fork of Google's ADT (Android Development Tools) plugins for Eclipse. These will be maintained and updated separately from Google's code line, which is anticipated will not be actively improved as Google moves toward Android Studio.

  • The former MOTODEV Studio Plugins (now part of the Android Open Source Project) upgraded to work with the latest ADT.

  • A p2 repository and product build using tycho.

  • Mylyn Reviews for Gerrit Review integration.

  • EGit for source code management.

  • GitHub Plugin from EGit for better collaboration with GitHub projects.

In addition to components, Andmore will produce an EPP package. There was previously an "Eclipse for Mobile Developers" package in 2012 for Juno that was shipped for 1 year without the ADT plugins. That package was the 4th most popular EPP package, after CDT, and shipped just over 1 million total downloads. There is clearly an audience for this type of package.

Why Here?: 

Nearly all the technologies are built on Eclipse or contain other Eclipse projects.

Professional embedded and enterprise developers are comfortable with Eclipse. Educational institutions appreciate both the “libre” and “gratis” aspects of open source projects and guide students toward Eclipse. The Andmore project will fulfill the needs of both new and professional developers who depend on Eclipse for their daily development needs.

Project Scheduling: 

Andmore will deliver an EPP package off-train, prior to the next major release. Plan is to refactor and stabilize the components and deliver on the release train.

Future Work: 

Strong interest from corporate sponsors and individuals who wish to continue seeing support for Android application and library development with Eclipse. The initial leadership of the project are experienced Eclipse leaders who also have a vested interest in Android development and an ability to create communities.

The initial work will be to stabilize the code, create an EPP and an update site. Ongoing development will be to support the different build and test automation environments, Java and C/C++ build and debugging to connected and remote processor targets, including emulators.

Future work will involve refactoring classes and renaming to allow future development to be more efficient.

People
Interested Parties: 

Julia Perdigueiro - DTI Software

Gorkem Ercan - Red Hat

Daniel Pastore - Eldorado Institute

Source Code
Initial Contribution: 

GitHub repository kingargyle/proteus that was built by forking Google ADT and the MOTODEV plugins from AOSP.  

  • Some work to remove MotoDev specific items like links to non existent tooling web sites.

  • Some renamings for perspectives from MotoDev to Proteus.

  • Updates to the former MOTODEV source code to compile and work with the latest ADT 23 plugins.

  • Migration of the current snapshots of the Android Development Tools to Andmore as a separate project. Work has started to get these to compile and have all dependencies included. AOSP external libraries should be converted to Orbit or P2 standalone repository. Some work started by Google in the AOSP to this effect but has since been reverted.
Source Repository Type: 
David Carver's picture

Eclipse ADT plugins are EPL licensed according to the header in the source files.  The AOSP libraries and Moto Dev items are Apache.

 

https://android.googlesource.com/platform/sdk/+/master/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/AdtConstants.java