harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "KapilaLane/My GSOC Proposal - 2010" by KapilaLane
Date Sun, 04 Apr 2010 04:16:16 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The "KapilaLane/My GSOC Proposal - 2010" page has been changed by KapilaLane.
http://wiki.apache.org/harmony/KapilaLane/My%20GSOC%20Proposal%20-%202010?action=diff&rev1=6&rev2=7

--------------------------------------------------

  ||'''E-mail'''||||'''klanerolle@gmail.com'''||
  ||'''Time Zone'''||||'''UTC+5:30(SriLanka)'''||
  
- =='''Abstract:'''==
+ '''Abstract:'''
  
+ '''Description:'''
- Harmony’s aim is certifies implementation of the Java Platform Standard
- Edition. But it is missing several of the useful tools which in JDK, JAR is
- one of it. The JAVA platform widely used over the world, but it makes
- programmer programming easier and user use harder. JAR tools have solved
- this problem. The JAR tools can aggregates lots of files into one file. So
- developers can easily use .jar files to distribute Java classes and
- associated metadata. User also can use the tools like JAVAW to execute it.
- This project’s aim is to implement a tool like JAR in Harmony platform.
  
  
+ '''Project Goal'''
- Detailed Description: Introduction
- 
- Java Platform, Standard Edition or Java SE is a widely used platform for
- programming in the Java language. Apache Harmony is the Java SE project of
- the Apache Software Foundation. The aim of the project is to produce a large
- and healthy community of those interested in runtime platforms tasked with
- creation blew: 1).A compatible, independent implementation of the Java SE 5
- JDK under the Apache License v2. 2).A community-developed modular runtime
- (VM and class library) architecture. But Harmony is missing several of the
- tools that ship with the JDK, including jar, jconsole and javaws. This
- project’s aim is to implement a tool like JAR in Harmony platform.
  
  
+ '''Project Planning'''
- JAR stands for Java Archive. It's a file format based on the popular ZIP
- file format and is used for aggregating many files into one. Although JAR
- can be used as a general archiving tool, the primary motivation for its
- development was so that Java applets and their requisite components (.class
- files, images and sounds) can be downloaded to a browser in a single HTTP
- transaction, rather than opening a new connection for each piece. In this
- way it can let user easily used. This greatly improves the speed with which
- an applet can be loaded onto a web page and begin functioning. The JAR
- format also supports compression, which reduces the size of the file and
- improves download time still further. Additionally, individual entries in a
- JAR file may be digitally signed by the applet author to authenticate their
- origin. JAR consists of a zip archive, as defined by PKWARE, containing a
- manifest file and potentially signature files.
  
+ ||April 20 ~ May 22: ||||fdfdf||
+ ||May 23 ~ Jun 1: ||||Finish creating a JAR File part||
+ ||Jun 2 ~ Jun 11: ||||Finish viewing the Contents of a JAR File part||
+ ||Jun 12 ~ Jun 21:|||| Finish extracting the Contents of a JAR File part||
+ ||Jun 22 ~ Jul 1: ||||Finish updating a JAR File part||
+ ||*Jul 2 ~ Jul 12: ||||(Milestone) Debug, finish mid-term report*||
+ ||Jul 13 ~ Jul 19: ||||Review ||
+ ||Jul 20 ~ Jul 26: ||||Finish signing JAR Files part||
+ ||Jul 27 ~ August 2: ||||Finish verifying Signed JAR Files part||
+ ||August 3 ~ August 14: ||||Finish java.util.jar implement part||
+ ||*August 15 ~ August 22: ||||(Milestone) Debug, finish final report*||
+ ||August 23 ~ August 26: ||||Get Final Results for the Program Announced||
  
- Project Goal
+ '''About Me'''
  
- The Harmony development kit will compatible the JDK environment, so the JAR
- tools in HDK also will fully compatible that tools in JDK. So we will
- consult the JAR file specification to implement our tools.
- 
- 
- Must have functions 1). Creating a JAR File
- 
- The basic format of the command for creating a JAR file is: jar cf jar-file
- input-file(s) The options and arguments used in this command are: The c
- option indicates that you want to create a JAR file. The f option indicates
- that you want the output to go to a file rather than to stdout. jar-file is
- the name that you want the resulting JAR file to have. You can use any
- filename for a JAR file. By convention, JAR filenames are given a .jar
- extension, though this is not required. The input-file(s) argument is a
- space-separated list of one or more files that you want to include in your
- JAR file. The input-file(s) argument can contain the wildcard * symbol. If
- any of the "input-files" are directories, the contents of those directories
- are added to the JAR archive recursively. The c and f options can appear in
- either order, but there must not be any space between them.
- 
- 
- This command will generate a compressed JAR file and place it in the current
- directory. The command will also generate a default manifest file for the
- JAR archive.
- 
- 
- You can add any of these additional options to the cf options of the basic
- command: v Produces verbose output on stdout while the JAR file is being
- built. The verbose output tells you the name of each file as it's added to
- the JAR file. 0 (zero) Indicates that you don't want the JAR file to be
- compressed. M Indicates that the default manifest file should not be
- produced. m Used to include manifest information from an existing manifest
- file. –C To change directories during execution of the command.
- 2). Viewing the Contents of a JAR File
- 
- The basic format of the command for viewing the contents of a JAR file is:
- jar tf jar-file Let's look at the options and argument used in this command:
- The t option indicates that you want to view the table of contents of the
- JAR file. The f option indicates that the JAR file whose contents are to be
- viewed is specified on the command line. The jar-file argument is the path
- and name of the JAR file whose contents you want to view. The t and f
- options can appear in either order, but there must not be any space between
- them. This command will display the JAR file's table of contents to stdout.
- You can optionally add the verbose option, v, to produce additional
- information about file sizes and last-modified dates in the output.
- 
- 
- 3). Extracting the Contents of a JAR File
- 
- The basic command to use for extracting the contents of a JAR file is: jar
- xf jar-file [archived-file(s)] Let's look at the options and arguments in
- this command: The x option indicates that you want to extract files from the
- JAR archive. The f options indicates that the JAR file from which files are
- to be extracted is specified on the command line, rather than through stdin.
- The jar-file argument is the filename (or path and filename) of the JAR file
- from which to extract files. archived-file(s) is an optional argument
- consisting of a space-separated list of the files to be extracted from the
- archive. If this argument is not present, the Jar tool will extract all the
- files in the archive. As usual, the order in which the x and f options
- appear in the command doesn't matter, but there must not be a space between
- them. When extracting files, the Jar tool makes copies of the desired files
- and writes them to the current directory, reproducing the directory
- structure that the files have in the archive. The original JAR file remains
- unchanged.
- 4). Updating a JAR File
- 
- The Jar tool provides a u option which you can use to update the contents of
- an existing JAR file by modifying its manifest or by adding files. The basic
- command for adding files has this format: jar uf jar-file input-file(s) In
- this command: The u option indicates that you want to update an existing JAR
- file. The f option indicates that the JAR file to update is specified on the
- command line. jar-file is the existing JAR file that's to be updated.
- input-file(s) is a space-deliminated list of one or more files that you want
- to add to the Jar file. Any files already in the archive having the same
- pathname as a file being added will be overwritten. When creating a new JAR
- file, you can optionally use the -C option to indicate a change of
- directory.
- 
- 
- Should have functions 1.) Signing JAR Files
- 
- You use the JAR Signing and Verification Tool to sign JAR files. You invoke
- the JAR Signing and Verification Tool by using the jarsigner command, so
- we'll refer to it as "Jarsigner" for short.The basic form of the command for
- signing a JAR file is jarsigner jar-file alias In this command: jar-file is
- the pathname of the JAR file that's to be signed. alias is the alias
- identifying the private key that's to be used to sign the JAR file, and the
- key's associated certificate. The Jarsigner tool will prompt you for the
- passwords for the keystore and alias. This basic form of the command assumes
- that the keystore to be used is in a file named .keystore in your home
- directory. It will create signature and signature block files with names
- x.SF and x.DSA respectively, where x is the first eight letters of the
- alias, all converted to upper case. This basic command will overwrite the
- original JAR file with the signed JAR file.
- 
- Jarsigner Command Options: -keystore url Specifies a keystore to be used if
- you don't want to use the .keystore default database. -storepass password
- Allows you to enter the keystore's password on the command line rather than
- be prompted for it. -keypass password     Allows you to enter your alias's
- password on the command line rather than be prompted for it. -sigfile
- file    Specifies the base name for the .SF and .DSA files if you don't want
- the base name to be taken from your alias. file must be composed only of
- upper case letters (A-Z), numerals (0-9), hyphen (-), and underscore (_).
- -signedjar file    Specifies the name of the signed JAR file to be generated
- if you don't want the original unsigned file to be overwritten with the
- signed file.
- 2). Verifying Signed JAR Files
- 
- Typically, verification of signed JAR files will be the responsibility of
- your JavaTM Runtime Environment. Your browser will verify signed applets
- that it downloads. Signed applications invoked with the -jar option of the
- interpreter will be verified by the runtime environment. However, you can
- verify signed JAR files yourself by using the Jarsigner tool. You might want
- to do this, for example, to test a signed JAR file that you've prepared. The
- basic command to use for verifying a signed JAR file is: jarsigner -verify
- jar-file This command will verify the JAR file's signature and ensure that
- the files in the archive haven't changed since it was signed. You'll see the
- following message if the verification is successful: jar verified. If you
- try to verify an unsigned JAR file, the following message results: jar is
- unsigned. (signatures missing or not parsable) If the verification fails, an
- appropriate message is displayed. For example, if the contents of a JAR file
- have changed since the JAR file was signed, a message similar to the
- following will result if you try to verify the file:
- jarsigner: java.lang.SecurityException: invalid SHA1
- signature file digest for test/classes/Manifest.class
- Wanna have functions 1.) java.util.jar implement
- 
- Provides classes for reading and writing the JAR (Java ARchive) file format,
- which is based on the standard ZIP file format with an optional manifest
- file. Detailed at
- http://java.sun.com/javase/6/docs/api/java/util/jar/package-summary.html
- Project Planning
- 
- April 20 ~ May 22: Get accepted student proposals announcement on the Google
- Summer of Code 2009 site. Get touch with mentor and get the advice for
- background knowledge, and be familiar with coding environment. Finish my
- graduation papers.
- May 23 ~ Jun 1: Finish creating a JAR File part
- Jun 2 ~ Jun 11: Finish viewing the Contents of a JAR File part
- Jun 12 ~ Jun 21: Finish extracting the Contents of a JAR File part
- Jun 22 ~ Jul 1: Finish updating a JAR File part
- *Jul 2 ~ Jul 12: (Milestone) Debug, finish mid-term report*
- Jul 13 ~ Jul 19: Review the mid-term project, study the technique, get
- project evaluation
- Jul 20 ~ Jul 26: Finish signing JAR Files part
- Jul 27 ~ August 2: Finish verifying Signed JAR Files part
- August 3 ~ August 14: Finish java.util.jar implement part
- *August 15 ~ August 22: (Milestone) Debug, finish final report*
- August 23 ~ August 26: Get Final Results for the Program Announced
- 
- 
- Additional Information:
- 
- Hi, I'm Yanxin from Fudan University, Shanghai, China. My major is Computer
- Science. I got touch with computer since my childhood, from that time I fall
- into the computer's world. In the high school I meet the teacher who tough
- us programing skills systematically. After learning the algorithm and data
- structure, I win the Information Olympic competition at top 0.05%, thus got
- the admit of Fudan University.
- 
- 
- At university, I join lots of students' union, and also study the newest
- technique which don't been tough in school. Last summer I got a chance to be
- a intern at IBM China. I'm very familiar with JAVA language, and develop
- some of the projects on that environment. Like use Struts to develop library
- management system, or use Jpcap to develop ReliableUDP implement with slide
- window. That was why I choose Harmony project.
- 
- 
- I usually use some of open source softwares, but have do nothing to them. I
- wish this Google Summer of Code could give me a chance to be a contributors.
- 
- Reference and Resources
+ '''Reference and Resources'''
  
  1. Harmony introduction: http://en.wikipedia.org/wiki/Apache_Harmony
  2. Harmony details: http://harmony.apache.org/
@@ -230, +41 @@

  
  Best regards
  
- Kapila Lanerolle,
+ ''Kapila Lanerolle,''
- Computer Science & Engineering,
+ ''Computer Science & Engineering,''
- University of Moratuwa,
+ ''University of Moratuwa,''
- SriLanka.
+ ''SriLanka.''
  

Mime
View raw message