Changes

Jump to: navigation, search

Package the Android Extensions for Eclipse

6,876 bytes added, 12:16, 10 December 2012
Project Details
== 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]. -->
<sub></sub>== Project Leader(s) == '''Rudolf R Janns''' <br />Wiki Page: [[User: Rudolf R Janns]]<br />IRC: rjanns<br />
'''Alon Yufidin'''<br />
IRC: dkdelidj
'''Omarr Khattab''' <br />
Wiki Page: [[user: Omarr Khattab]]<br/>
IRC: okhattab<br />
 
 
'''Kalpaniya Parmar'''<br />
Wiki Page: [[User: kparmar4]]<br />
IRC: kparmar4
 
'''Jiecheng Qiu'''<br />
Wiki Page: [[User: jcqiu]]<br />
IRC: Jie_Q
== Project Contributor(s) ==
== Project Details ==
Here are the details of the milestones so far.  <b><!font style="font-size:110%">0.1 Milestone</font></b>- Provides more depth than --- The purpose of this milestone is twofold - research and preliminary RPM package release. The research into the Project Description. This 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 place source Java files- for technical discussionsa 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, project specsstart 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 other details "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. If  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 gets very longpoint. 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 might consider breaking this part 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 multiple pages 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 linking 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 themare 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 ==
Tracking mechanism (bugzilla, trac, github, ...): Key contacts:<!-- Add links to any mentors or key participants in the community. --br />[[User: dkdelidj|Daniel]] (ADT+DDMS Plugin) and [[User: ayufidin|Alon]] (Hierarchy Viewer Plugin)
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. -->
 * 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 ==
=== Upsteam Wiki and Web ===
<!-- 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 ===
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- Add a link to any page(s) related to your work, including the bug numbers (on bugzilla or trac) 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 ===
=== Blogs ===
[http://sbr600.tumblr.com/ Daniel's blog]<!-- Links to the blogs of people involved, both inside and outside Seneca --br />[http://ayufidin.blogspot.ca/ Alon's blog]
==== Seneca Particpants ====
[[User: dkdelidj|Daniel]]<br />
 
[[User: ayufidin|Alon]]
==== Non-Seneca Participants ====
<!-- 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 ====
1
edit

Navigation menu