Hi Regis, On Thu, Aug 13, 2009 at 1:27 PM, Regis <xu.re...@gmail.com> wrote:
> Daniel Gong wrote: > >> I also encountered the Ubuntu "permission denied" problem... >> I think handling this kind of problem is the user's responsibility. >> > > But it'll break build script. When we are testing it, we are using it, it's > our responsibility to make it work. > > Simply adding > > <chmod file="${target.dir}/bin/java" perm="+x"/> > Since adding this is a small change, should I upload a new version to JIRA? Besides, I am wondering what else should I do for GSoC? -Daniel > after generating jre can make it work on Linux. > > > >> Thank you very much, Regis. >> >> -Daniel >> >> On Thu, Aug 13, 2009 at 10:36 AM, Regis <xu.re...@gmail.com> wrote: >> >> Daniel Gong wrote: >>> >>> On Thu, Aug 6, 2009 at 10:55 AM, Regis <xu.re...@gmail.com> wrote: >>>> >>>> Daniel Gong wrote: >>>> >>>>> Yes it is the problem of the build file, I have correct it and >>>>> upload >>>>> >>>>>> a >>>>>> new one:) >>>>>> To run it, you should modify the origin and target property in the >>>>>> build >>>>>> file to your origin jre path and the target min jre path. >>>>>> More, I have updated the description. Hope it will help you all and >>>>>> work >>>>>> well:) >>>>>> >>>>>> On Wed, Aug 5, 2009 at 4:40 PM, Regis <xu.re...@gmail.com> wrote: >>>>>> >>>>>> Daniel Gong wrote: >>>>>> >>>>>> Sorry, that's my fault. It seems I have put the wrong version of ant >>>>>>> >>>>>>> build...I will correct it and upload it again. >>>>>>>> >>>>>>>> It seems not a problem of ant, when I removed takedef of "analyze" >>>>>>>> and >>>>>>>> >>>>>>>> "gen", ant compile work correct, but ant test-hello (which only >>>>>>> depends >>>>>>> on >>>>>>> compile), reported error again: >>>>>>> >>>>>>> C:\download\minijre\build.xml:56: Execute failed: >>>>>>> java.io.IOException: >>>>>>> Cannot run program "${target} >>>>>>> \bin\java": CreateProcess error=2, The system cannot find the file >>>>>>> specified >>>>>>> >>>>>>> And I found ${target} is never defined, do you mean ${target.dir} >>>>>>> here? >>>>>>> ${cns} ${origin} ${test} should also be ${cns.dir} ${origin.dir} >>>>>>> ${test.dir} >>>>>>> >>>>>>> After fixing these variables and copy Harmony JRE to "origin" dir, I >>>>>>> can >>>>>>> run "ant test-hello" successfully. The target directory should be >>>>>>> minijre, >>>>>>> the size of "lib" is reduced from 40.1MB to 10.4MB, looks great!! >>>>>>> >>>>>>> I'm waiting Daniel's description, so didn't try the agent yet :) >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Aug 5, 2009 at 3:44 PM, Regis <xu.re...@gmail.com> wrote: >>>>>>> >>>>>>> Daniel Gong wrote: >>>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>>> I have my code attached in issue HARMONY-6291 on JIRA. I'd like to >>>>>>>>> >>>>>>>>>> call >>>>>>>>>> it >>>>>>>>>> MinJre Toolkit. >>>>>>>>>> >>>>>>>>>> Now the coding of MinJreToolkit is almost complete. It includes >>>>>>>>>> functional >>>>>>>>>> classes as well as command line tool and ant task implemented >>>>>>>>>> based >>>>>>>>>> on >>>>>>>>>> them. >>>>>>>>>> More, for dynamic tracing, a jvmti agent has been implemented. >>>>>>>>>> Both >>>>>>>>>> static >>>>>>>>>> analysis and dynamic tracing produce a type of result file called >>>>>>>>>> cns >>>>>>>>>> (Class >>>>>>>>>> Name Set) file, which has an associated data structure called >>>>>>>>>> ClassNameSet >>>>>>>>>> that can be created from a cns file, witten to a cns file and >>>>>>>>>> merged >>>>>>>>>> with >>>>>>>>>> a >>>>>>>>>> cns file. The cns file in the conf directory contains the required >>>>>>>>>> classes >>>>>>>>>> for different jre implementations. Now it only supports Harmony. >>>>>>>>>> >>>>>>>>>> The toolkit can be used in two steps. First, employ both static >>>>>>>>>> analyzer >>>>>>>>>> and >>>>>>>>>> dynamic tracer in the process of application development and test, >>>>>>>>>> and >>>>>>>>>> record necessary information in several cns files. Second, employ >>>>>>>>>> the >>>>>>>>>> jre >>>>>>>>>> generator to merge these cns files and generate a new jre from an >>>>>>>>>> original >>>>>>>>>> one. >>>>>>>>>> >>>>>>>>>> So far I have written a simple ant build file to handle the whole >>>>>>>>>> process >>>>>>>>>> including compile, test, pack & javadoc. The compiling of the >>>>>>>>>> agent >>>>>>>>>> is >>>>>>>>>> not >>>>>>>>>> in because I'm still learning ant usage. The test is also very >>>>>>>>>> simple, >>>>>>>>>> just >>>>>>>>>> a helloworld app:P >>>>>>>>>> >>>>>>>>>> I'll improve the toolkit by adding command line script, optimizing >>>>>>>>>> ant >>>>>>>>>> build, doing more test and improve the algorithm if a better >>>>>>>>>> strategy >>>>>>>>>> is >>>>>>>>>> found. >>>>>>>>>> >>>>>>>>>> Everyone please feel free to give me advice or report bugs to >>>>>>>>>> me~thx:) >>>>>>>>>> >>>>>>>>>> Daniel Gong >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Well done Daniel! >>>>>>>>>> >>>>>>>>>> I'm trying to build the tool. I downloaded minjretoolkit.tar.gz >>>>>>>>>> >>>>>>>>> from >>>>>>>>> HARMONY-6291, and extract it, then run "ant" or "ant compile", but >>>>>>>>> got >>>>>>>>> a >>>>>>>>> error: >>>>>>>>> >>>>>>>>> c:\download\minijre\build.xml:23: taskdef class >>>>>>>>> org.crazynut.harmony.minjre.anttask.AnalyzeDependenc >>>>>>>>> yTask cannot be found >>>>>>>>> >>>>>>>>> Did I miss anything? >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Best Regards, >>>>>>>>> Regis. >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> >>>>>>>>> Best Regards, >>>>>>>> >>>>>>> Regis. >>>>>>> >>>>>>> >>>>>>> I tried the new one, the build script worked fine for me. Following >>>>>>> >>>>>> the >>>>> instructions on JIRA, I generated dynamic trace by agent and merged >>>>> with >>>>> static one successfully, seems you have finished the core part of this >>>>> tool, >>>>> well done!! >>>>> >>>>> While there are still places can be improved: >>>>> >>>>> Dear all, >>>> >>>> 1. add build scrip for native code, "ant compile" will compile both java >>>> and >>>> native. >>>> >>>> Done. >>>> >>>> 2. -agentlib:Agent=help print help info about how to use this agent. I >>>> you >>>> type java -agentlib:jdwp=help to see the example. The options of agent >>>> usually is name=value pattern, maybe something like: java >>>> -agentlib:Agent=tracefile=[filename] >>>> >>>> Done. Usage: java -agentlib:tracer=output=[filename] >>>> >>>> The zip file attached to HARMONY-6291 is the newest version of MinJre >>>> Toolkit. >>>> >>>> The ant build file can compile and test jvmti agent now. >>>> >>>> I have tested it under Windows XP SP3 & Ubuntu 9.04. >>>> >>>> The script directory is command line launcher for the analyzer and >>>> jregen, >>>> not implemented yet, but in my plan. >>>> >>>> Best Regards, >>>> >>>> Daniel Gong >>>> >>>> >>>> Hi Daniel, >>> >>> The new package on JIRA is good! I tried on Windows XP and Ubuntu 8.04.2, >>> all worked fine except when trying to run generated java, it complained >>> "Permission denied", after I added execution permission, it worked >>> smoothly. >>> >>> I think it's time to integrate Daniel's work to Harmony repository, so >>> Daniel can work with community easily and closely, and also anyone >>> interested on this could work on this. If no one object I'm going to >>> apply >>> HARMONY-6291 to [1]. >>> >>> >>> [1] >>> https://svn.apache.org/repos/asf/harmony/enhanced/tools/trunk/minijre >>> >>> -- >>> Best Regards, >>> Regis. >>> >>> >> > > -- > Best Regards, > Regis. >