Difference between revisions of "Package the Android Extensions for Eclipse"
Jiecheng Qiu (talk | contribs) (→Project Leader(s)) |
(→Project Details) |
||
(43 intermediate revisions by 7 users not shown) | |||
Line 4: | Line 4: | ||
== Project Description == | == Project Description == | ||
+ | There are a group of extensions (4?) for Eclipse that enable development of Android applications. Package these extensions and make them available in (or for) Fedora. | ||
+ | |||
+ | Expected outcome: The extensions will be available as Fedora packages, or if not permitted by licensing, as packages available from an external repository. | ||
+ | |||
+ | Maximum number of students: 4 (one per extension/plugin) | ||
+ | |||
+ | Skills required: packaging, testing | ||
+ | |||
+ | Resources: Raymond Chan (rchan), John Selmys | ||
<!-- Description should be no longer than a paragraph. Include links to any relevant on-line resources. For example, [http://fedoraproject.org/wiki] or [http://developer.mozilla.org MDC]. --> | <!-- Description should be no longer than a paragraph. Include links to any relevant on-line resources. For example, [http://fedoraproject.org/wiki] or [http://developer.mozilla.org MDC]. --> | ||
+ | <sub></sub> | ||
== Project Leader(s) == | == Project Leader(s) == | ||
− | |||
− | |||
− | |||
− | |||
'''Alon Yufidin'''<br /> | '''Alon Yufidin'''<br /> | ||
Line 20: | Line 26: | ||
IRC: dkdelidj | IRC: dkdelidj | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Project Contributor(s) == | == Project Contributor(s) == | ||
Line 35: | Line 35: | ||
== Project Details == | == Project Details == | ||
− | < | + | Here are the details of the milestones so far. |
+ | |||
+ | |||
+ | <b><font style="font-size:110%">0.1 Milestone</font></b> | ||
+ | ---- | ||
+ | |||
+ | The purpose of this milestone is twofold - research and preliminary RPM package release. | ||
+ | The research into the Eclipse extensions for Android showed that there are about 6 extensions (or plugins) for Eclipse that are related to Android: | ||
+ | <pre> | ||
+ | - ADT (Android Development Tools) | ||
+ | - DDMS (Dalvik Debug Monitor Server) | ||
+ | - GLDebugger (OpenGL Debugger) | ||
+ | - Hierarchyviewer | ||
+ | - Traceview | ||
+ | - Base | ||
+ | </pre> | ||
+ | |||
+ | Progress so far: | ||
+ | <pre> | ||
+ | - research phase is mostly completed; we know what we need to do | ||
+ | - extensions are stored as JAR files; JARs contain the source Java files | ||
+ | - for a successful completion of this project, we need to simplify the process of installing ADT as much as possible | ||
+ | </pre> | ||
+ | |||
+ | How ADT needs to be installed at the moment: | ||
+ | <pre> | ||
+ | -> Install Eclipse, start Eclipse | ||
+ | -> Get the Android depository link | ||
+ | -> Add New Software In Eclipse | ||
+ | -> Paste link | ||
+ | -> Accept a few licences | ||
+ | -> Wait for download and installation | ||
+ | -> Restart Eclipse | ||
+ | </pre> | ||
+ | |||
+ | Instead, we intend to shorten it to this: | ||
+ | <pre> | ||
+ | -> Install Eclipse | ||
+ | -> Run "yum install eclipse-adt eclipse-ddms ..." or | ||
+ | "yum install @"Android Extensions for Eclipse | ||
+ | -> Start Eclipse | ||
+ | </pre> | ||
+ | |||
+ | Alon will be focusing on packaging the ADT plugin and Daniel will be focusing on the DDMS plugin. | ||
+ | |||
+ | |||
+ | <b><font style="font-size:100%">ADT</font></b> | ||
+ | ---- | ||
+ | |||
+ | In order to retrieve the files required for this release, the following steps were taken: | ||
+ | <pre> | ||
+ | - Eclipse was installed on Fedora 17 using the built in yum installer. | ||
+ | - Plugins were installed using the built-in updater in Eclipse. | ||
+ | - Required files were retrieved from the plugins and features folders under the main Eclipse folder: | ||
+ | |||
+ | eclipse/ | ||
+ | dropins/ | ||
+ | eclipse/ | ||
+ | features/ | ||
+ | plugins/ | ||
+ | |||
+ | OR | ||
+ | |||
+ | eclipse/ | ||
+ | dropins/ | ||
+ | org.eclipse.core.tools_1.4.0.200710121455.jar | ||
+ | org.eclipse.releng.tools_3.3.0.v20070412/ | ||
+ | plugin.xml | ||
+ | tools.jar | ||
+ | </pre> | ||
+ | |||
+ | To build the actual RPM, I downloaded a source RPM of an existing non-android Eclipse plugin and took a look at the spec file to determine the required steps needed to package and install the ADT Plugin. | ||
+ | |||
+ | The RPM that I am releasing today, places the files in the correct folders, however, the dependencies required for the ADT Plugin are not included and therefore require manual intervention at this point. | ||
+ | |||
+ | You can find the release files below: | ||
+ | |||
+ | [http://dl.dropbox.com/u/3209356/ADT/adtplugin-0.0.1-1.fc17.noarch.rpm RPM] | ||
+ | [http://dl.dropbox.com/u/3209356/ADT/adtplugin-0.0.1-1.fc17.src.rpm SRPM] | ||
+ | [http://dl.dropbox.com/u/3209356/ADT/adtplugin.spec Spec file] | ||
+ | |||
+ | |||
+ | <b><font style="font-size:100%">DDMS</font></b> | ||
+ | ---- | ||
+ | |||
+ | As stated previously, to package DDMS, the Dalvik Debug Monitor Server, first you have to have Eclipse installed (done through a simple <code>yum install</code> operation). After that, we would need an RPM to use to install the DDMS plugin. | ||
+ | |||
+ | My RPM package was created by using the spec file of an already existing Eclipse plugin, and modifying it to my needs. I used the source JAR files that are provided by the Android project and packaged them into an RPM file, using rpmbuild. Here’s a quick [http://i.imgur.com/JJmPj.png screenshot]. | ||
+ | |||
+ | Now we have an RPM that is almost complete - it places the JAR files in the correct sub-folders of Eclipse, but the plugin will not work - it needs a few [http://i.imgur.com/onxqd.png dependencies] to be satisfied. Those dependencies will be taken care of by milestone 0.2. | ||
+ | |||
+ | Here are the RPM, SRC-RPM and spec files. | ||
+ | [https://www.dropbox.com/s/yr1wj6646wqytin/ddms-0.0.1-1.fc17.noarch.rpm RPM] [https://www.dropbox.com/s/0qt8x7qdv7be5e1/ddms-0.0.1-1.fc17.src.rpm SRPM] [https://www.dropbox.com/s/twts0w40sysboad/ddms.spec Spec file] | ||
+ | |||
+ | |||
+ | <b><font style="font-size:110%">0.2 Milestone</font></b> | ||
+ | ---- | ||
+ | |||
+ | Progress so far: | ||
+ | <pre> | ||
+ | - ADT/DDMS plugins are both functioning if placed in the plugins/ and features/ directories | ||
+ | - The RPM for ADT/DDMS works and gets installed without issues | ||
+ | - Hierarchy Viewer RPM is also a successful installation | ||
+ | </pre> | ||
+ | |||
+ | Our team decided to package ADT and DDMS as one packages, and then add another RPM for another Android plugin. Daniel will package the ADT/DDMS plugins and Alon will package the Hierarchy Viewer. | ||
+ | |||
+ | |||
+ | <b><font style="font-size:100%">ADT + DDMS</font></b> | ||
+ | ---- | ||
+ | |||
+ | Since ADT and DDMS cannot function without each other, we've combined them into one package called "eclipse-adt_ddms-plugin". ADT and DDMS both require each other and 2 more JAR files - the overlay and the base. All of them are included in the RPM. | ||
+ | |||
+ | For a more detailed look at the preparation phase of the RPM, please visit the [http://sbr600.tumblr.com/post/36367708826/0-2-android-extensions-for-eclipse blog post] by Daniel. | ||
+ | |||
+ | |||
+ | <b><font style="font-size:100%">Hierarchy Viewer</font></b> | ||
+ | ---- | ||
+ | |||
+ | Due to the small change in our project plan as described above, Hierarchy Viewer is now the plugin packaged by Alon instead of ADT. Please visit the 0.2 release [http://ayufidin.blogspot.ca/2012/11/packaging-android-extensions-for-eclipse_23.html post] for details. | ||
+ | |||
+ | |||
+ | <b><font style="font-size:110%">0.3 Milestone</font></b> | ||
+ | ---- | ||
+ | |||
+ | |||
+ | <b><font style="font-size:100%">ADT + DDMS</font></b> | ||
+ | ---- | ||
+ | |||
+ | ADT & DDMS final release is packaged by Daniel, please visit the blog [http://sbr600.tumblr.com/post/37518058012/0-3-adt-and-ddms-rpm-packages post] | ||
+ | |||
+ | |||
+ | <b><font style="font-size:100%">Hierarchy Viewer + Traceview</font></b> | ||
+ | ---- | ||
+ | |||
+ | Hierarchy Viewer & Traceview final release is packaged by Alon, please visit the blog [http://ayufidin.blogspot.ca/2012/12/packaging-android-extensions-for.html post] | ||
== Project Plan == | == Project Plan == | ||
− | + | Key contacts:<br /> | |
− | + | [[User: dkdelidj|Daniel]] (ADT+DDMS Plugin) and [[User: ayufidin|Alon]] (Hierarchy Viewer Plugin) | |
− | Key contacts: | ||
− | < | ||
Goals for each release and plans for reaching those goals: | Goals for each release and plans for reaching those goals: | ||
<!-- Note: each contributor is expected to have unique goals. These goals may be ''related'' to other students' work, but must be ''distinct'' and ''attainable'' regardless of the state of the other students' work. For example, under the umbrella of one project title, one student may work on packaging a piece of software and another may work on documentation, or one may work on solving one bug and another on solving another bug, but two students must not work on the same bug or depend on the other students' work in order to be able to complete their own project. --> | <!-- Note: each contributor is expected to have unique goals. These goals may be ''related'' to other students' work, but must be ''distinct'' and ''attainable'' regardless of the state of the other students' work. For example, under the umbrella of one project title, one student may work on packaging a piece of software and another may work on documentation, or one may work on solving one bug and another on solving another bug, but two students must not work on the same bug or depend on the other students' work in order to be able to complete their own project. --> | ||
− | * 0.1 | + | |
− | * 0.2 | + | * 0.1 -> Create draft RPMs that contain the .jar files relevant to each plugin, the RPM will place the files into the "dropins" folder of Eclipse. |
− | * 0.3 | + | * 0.2 -> Include dependencies required for each plugin within the RPMs, making sure we have functional RPMs. |
+ | * 0.3 -> Finalizing RPMs and making sure that it is in the main Fedora Repo. | ||
== Communication == | == Communication == | ||
Line 57: | Line 191: | ||
=== Upsteam Wiki and Web === | === Upsteam Wiki and Web === | ||
<!-- Links to upstream wiki/web pages --> | <!-- Links to upstream wiki/web pages --> | ||
+ | Fedora Project How to setup android SDK: [http://fedoraproject.org/wiki/HOWTO_Setup_Android_Development How to.] | ||
=== Links/Bugs/Tracking === | === Links/Bugs/Tracking === | ||
− | < | + | Eclipse download: [http://www.eclipse.org/downloads/ Download Webpage]<BR/> |
+ | Eclipse Resources: [http://www.eclipse.org/resources/ Resources]<BR/> | ||
+ | Eclipse Forus: [http://www.eclipse.org/forums/ Forums]<BR/> | ||
+ | Fedora 17 32 bit download: [http://download.fedoraproject.org/pub/fedora/linux/releases/17/Live/i686/Fedora-17-i686-Live-Desktop.iso ISO Download]<BR/> | ||
+ | Android SDK for Linux download: [http://dl.google.com/android/android-sdk_r20.0.3-linux.tgz andoid-sdk_r20.0.3-linux.tgz]<br/> | ||
+ | Installing thr Android SDK: [http://developer.android.com/sdk/installing/index.html Installation Guide]<br /> | ||
+ | Android ADT plugin: [https://developer.android.com/tools/sdk/eclipse-adt.html Information] [https://developer.android.com/sdk/installing/installing-adt.html Installing in Eclipse] | ||
=== Source Code Control === | === Source Code Control === | ||
Line 65: | Line 206: | ||
=== Blogs === | === Blogs === | ||
− | < | + | [http://sbr600.tumblr.com/ Daniel's blog]<br /> |
+ | [http://ayufidin.blogspot.ca/ Alon's blog] | ||
==== Seneca Particpants ==== | ==== Seneca Particpants ==== | ||
+ | [[User: dkdelidj|Daniel]]<br /> | ||
+ | |||
+ | [[User: ayufidin|Alon]] | ||
==== Non-Seneca Participants ==== | ==== Non-Seneca Participants ==== | ||
<!-- Links to the blogs of any non-Seneca participants in this project --> | <!-- Links to the blogs of any non-Seneca participants in this project --> | ||
+ | Blog Post how to which may be helpful. Includes Screen shots of setup. [http://www.if-not-true-then-false.com/2010/android-sdk-and-eclipse-adt-on-fedora-centos-red-hat-rhel/ How To] | ||
==== Planets ==== | ==== Planets ==== |
Latest revision as of 11:16, 10 December 2012
Contents
Packaging the Android Extensions for Eclipse
Project Description
There are a group of extensions (4?) for Eclipse that enable development of Android applications. Package these extensions and make them available in (or for) Fedora.
Expected outcome: The extensions will be available as Fedora packages, or if not permitted by licensing, as packages available from an external repository.
Maximum number of students: 4 (one per extension/plugin)
Skills required: packaging, testing
Resources: Raymond Chan (rchan), John Selmys
Project Leader(s)
Alon Yufidin
Wiki Page: User: ayufidin
IRC: ayufidin
Daniel Delidjakov
Wiki Page: User: dkdelidj
IRC: dkdelidj
Project Contributor(s)
Project Details
Here are the details of the milestones so far.
0.1 Milestone
The purpose of this milestone is twofold - research and preliminary RPM package release. The research into the Eclipse extensions for Android showed that there are about 6 extensions (or plugins) for Eclipse that are related to Android:
- ADT (Android Development Tools) - DDMS (Dalvik Debug Monitor Server) - GLDebugger (OpenGL Debugger) - Hierarchyviewer - Traceview - Base
Progress so far:
- research phase is mostly completed; we know what we need to do - extensions are stored as JAR files; JARs contain the source Java files - for a successful completion of this project, we need to simplify the process of installing ADT as much as possible
How ADT needs to be installed at the moment:
-> Install Eclipse, start Eclipse -> Get the Android depository link -> Add New Software In Eclipse -> Paste link -> Accept a few licences -> Wait for download and installation -> Restart Eclipse
Instead, we intend to shorten it to this:
-> Install Eclipse -> Run "yum install eclipse-adt eclipse-ddms ..." or "yum install @"Android Extensions for Eclipse -> Start Eclipse
Alon will be focusing on packaging the ADT plugin and Daniel will be focusing on the DDMS plugin.
ADT
In order to retrieve the files required for this release, the following steps were taken:
- Eclipse was installed on Fedora 17 using the built in yum installer. - Plugins were installed using the built-in updater in Eclipse. - Required files were retrieved from the plugins and features folders under the main Eclipse folder: eclipse/ dropins/ eclipse/ features/ plugins/ OR eclipse/ dropins/ org.eclipse.core.tools_1.4.0.200710121455.jar org.eclipse.releng.tools_3.3.0.v20070412/ plugin.xml tools.jar
To build the actual RPM, I downloaded a source RPM of an existing non-android Eclipse plugin and took a look at the spec file to determine the required steps needed to package and install the ADT Plugin.
The RPM that I am releasing today, places the files in the correct folders, however, the dependencies required for the ADT Plugin are not included and therefore require manual intervention at this point.
You can find the release files below:
DDMS
As stated previously, to package DDMS, the Dalvik Debug Monitor Server, first you have to have Eclipse installed (done through a simple yum install
operation). After that, we would need an RPM to use to install the DDMS plugin.
My RPM package was created by using the spec file of an already existing Eclipse plugin, and modifying it to my needs. I used the source JAR files that are provided by the Android project and packaged them into an RPM file, using rpmbuild. Here’s a quick screenshot.
Now we have an RPM that is almost complete - it places the JAR files in the correct sub-folders of Eclipse, but the plugin will not work - it needs a few dependencies to be satisfied. Those dependencies will be taken care of by milestone 0.2.
Here are the RPM, SRC-RPM and spec files. RPM SRPM Spec file
0.2 Milestone
Progress so far:
- ADT/DDMS plugins are both functioning if placed in the plugins/ and features/ directories - The RPM for ADT/DDMS works and gets installed without issues - Hierarchy Viewer RPM is also a successful installation
Our team decided to package ADT and DDMS as one packages, and then add another RPM for another Android plugin. Daniel will package the ADT/DDMS plugins and Alon will package the Hierarchy Viewer.
ADT + DDMS
Since ADT and DDMS cannot function without each other, we've combined them into one package called "eclipse-adt_ddms-plugin". ADT and DDMS both require each other and 2 more JAR files - the overlay and the base. All of them are included in the RPM.
For a more detailed look at the preparation phase of the RPM, please visit the blog post by Daniel.
Hierarchy Viewer
Due to the small change in our project plan as described above, Hierarchy Viewer is now the plugin packaged by Alon instead of ADT. Please visit the 0.2 release post for details.
0.3 Milestone
ADT + DDMS
ADT & DDMS final release is packaged by Daniel, please visit the blog post
Hierarchy Viewer + Traceview
Hierarchy Viewer & Traceview final release is packaged by Alon, please visit the blog post
Project Plan
Key contacts:
Daniel (ADT+DDMS Plugin) and Alon (Hierarchy Viewer Plugin)
Goals for each release and plans for reaching those goals:
- 0.1 -> Create draft RPMs that contain the .jar files relevant to each plugin, the RPM will place the files into the "dropins" folder of Eclipse.
- 0.2 -> Include dependencies required for each plugin within the RPMs, making sure we have functional RPMs.
- 0.3 -> Finalizing RPMs and making sure that it is in the main Fedora Repo.
Communication
Mailing Lists
Upsteam Wiki and Web
Fedora Project How to setup android SDK: How to.
Links/Bugs/Tracking
Eclipse download: Download Webpage
Eclipse Resources: Resources
Eclipse Forus: Forums
Fedora 17 32 bit download: ISO Download
Android SDK for Linux download: andoid-sdk_r20.0.3-linux.tgz
Installing thr Android SDK: Installation Guide
Android ADT plugin: Information Installing in Eclipse
Source Code Control
Blogs
Seneca Particpants
Non-Seneca Participants
Blog Post how to which may be helpful. Includes Screen shots of setup. How To