help: configuration issues
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Wed Sep 13 17:03:03 UTC 2017
On 13/09/17 17:06, Razvan Minciuna wrote:
> Hi,
>
> As mentioned in my last email I´ve finished the dev environment so I
> can use the lvti branch.
>
> I would like to know what´s the next step and I have a few questions:
> - what is the approach when you try to test something?
I think what'd be looking for at this stage, as I mentioned, is some
real word experience with the feature. Do you have an existing Java
project you own? How about migrate some of its classes to take advantage
of LVTI and see report back on what the experience is like? E.g. are the
compiler error messages good enough? Did you get error that you think
should not have been generated? Etc.
>
> - do I have to use unit tests or just play around with the new features?
Just play around - that's often the most valuable feedback :-)
>
> - where can I found some details about this new features, some
> documentation ?
This emails should contain much of the relevant info:
http://mail.openjdk.java.net/pipermail/amber-dev/2017-April/000128.html
There, you will find links to the current spec changes, and to some
older discussions (when this work was first presented).
>
> - whom and where should I report in case something´s not working?
This mailing list!
>
> - is there anything else that I should be asking or doing?
I think you are doing great - just sprinkle LVTI on some existing
project of yours, and let us know how it goes.
>
> Thanks for your time.
Thanks for trying out the bits
Cheers
Maurizio
>
> Regards
> Razvan
>
>
> On Wed, Sep 13, 2017 at 5:17 PM, Maurizio Cimadamore
> <maurizio.cimadamore at oracle.com
> <mailto:maurizio.cimadamore at oracle.com>> wrote:
>
> Phew - thanks for letting us know!
>
> Cheers
> Maurizio
>
>
> On 13/09/17 15:19, Razvan Minciuna wrote:
>> Hi Maurizio,
>>
>> Everything worked perfect. Thank you.
>>
>> After the installation I was able to run this simple Hello World
>> code:
>>
>> import java.util.ArrayList;
>> import java.util.List;
>>
>> public class App{
>> public static void main(String[] args){
>> var list = new ArrayList<>():
>> list.add("Razvan");
>> list.add("Minciuna");
>> System.out.println(list);
>> }
>> }
>>
>> and got this output : [Razvan, Minciuna]
>>
>> So, I guess I´m ready for the next step.
>>
>> Thanks again.
>>
>> Regards,
>> Razvan
>>
>> On Wed, Sep 13, 2017 at 11:49 AM, Maurizio Cimadamore
>> <maurizio.cimadamore at oracle.com
>> <mailto:maurizio.cimadamore at oracle.com>> wrote:
>>
>>
>>
>> On 13/09/17 06:09, Razvan Minciuna wrote:
>>
>> Hi,
>>
>> I am trying to properly configure the development
>> environment so I can test
>> the amber project.
>> This is my first experience with openjdk and I couldn´t
>> find enough
>> information to get it done.
>> So, after downloading the lvti branch from the repository
>> and put it into
>> the Eclipse I don´t know where to go next.
>>
>> If you have any documentation so I can read in order to
>> finish the process
>> so I can start using and testing the repository please
>> let me know.
>> Thank you.
>>
>> Hi Razvan,
>> So, first of all, you need to clone the repo (which you
>> probably already have done - but I will repeat the step anyway):
>>
>> $ hg clone http://hg.openjdk.java.net/amber/amber
>> <http://hg.openjdk.java.net/amber/amber> amber-dev
>>
>> The above command will fetch the toplevel JDK repo and store
>> it locally in the 'amber-dev' folder (you can change name of
>> course if you want to). Note also that this will only fetch
>> the 'toplevel' repo - JDK is currently organized as a
>> 'forest' of repositories, so there's more than one you need
>> to get - you can do so like this:
>>
>> $ sh get_sources.sh
>>
>> This will fetch the remaining repositories - as some of these
>> are big, it might take a while. This second step is
>> temporary, and will go away once the repositories will be
>> consolidated (an ongoing effort, see [1]).
>>
>> Now you should have a complete folder structure:
>>
>> amber-dev
>> jaxp
>> jaxws
>> langtools
>> hotspot
>> jdk
>> corba
>> nashorn
>> make
>> test
>> common
>>
>> So, since the amber repository is organized in branches, you
>> need first to decide which branch you want to try out. Let's
>> assume you want to try local variable type inference - the
>> name of the branch is 'lvti' - so you need to update all JDK
>> repositories to that branch, which you can do with this command:
>>
>> $ sh common/bin/hgforest.sh update lvti
>>
>> This will update the working version of all repositories to
>> the latest 'lvti' changeset. Note that the 'hgforest' command
>> above is a little useful helper that allows you to run the
>> same command on all the JDK repos in the forest - so, by
>> running the above command is like going into every repo
>> subfolder and running 'hg update lvti' by hand.
>>
>> You can confirm that you have updated the repos to the right
>> branch by doing the following:
>>
>> $ hg common/bin/hgforest branch
>>
>> This should print a list of lines such as
>>
>> jdk: lvti
>> langtools: lvti
>> ...
>>
>> Which indicates the repos are indeed in the right branch.
>>
>> Now it's time to build the JDK. To build, you first need to
>> run the configuration step, which will test whether you have
>> all the tools (such as GCC or Clang) and libraries (such as
>> freetype) needed in order to build the JDK. You can do so as
>> follows:
>>
>> $ sh configure --with-boot-jdk=<PATH-TO-JDK-8>
>>
>> The 'with-boot-jdk' parameter is very important - it's the
>> JDK that is used to 'bootstrap' (e.g. to compile an initial
>> version) of this JDK. It must point to an existing JDK 8
>> installation which you probably have somewhere in your
>> machine. If not, go here [2] and fetch one.
>>
>> The configure should generate loads of output, but no errors.
>> If there's an error it typically means that one (or more)
>> build dependencies were not satisfied, so you need to take
>> care of that (if you are in a debian-based Linux, this is
>> typically done by installing some missing libraries - usually
>> achieved by running some 'apt' command).
>>
>> After configure you are ready to go, really - so you can
>> start the build:
>>
>> $ make images
>>
>> This will build the entire JDK and create an 'images' folder
>> (under build/<arch>/images/jdk). Inside you will find a 'bin'
>> folder containing all the usual commands (java, javac, javap,
>> ...) which you can start using to try out local variable
>> inference.
>>
>> This should cover the basics of the process, I expect there
>> will be one or two peculiarities in your env that will pop up
>> at some point (esp. at the configure step) - if you get stuck
>> please do not hesitate to come back here and ask for help.
>> There's also a mailing list of build experts (build-dev @
>> o.j.n) in case things get nasty - but let's hope for the best :-)
>>
>> Cheers
>> Maurizio
>>
>> [1] -
>> http://mail.openjdk.java.net/pipermail/jdk10-dev/2017-August/000451.html
>> <http://mail.openjdk.java.net/pipermail/jdk10-dev/2017-August/000451.html>
>> [2] -
>> http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
>> <http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html>
>>
>> Regards,
>> Razvan
>>
>>
>>
>
>
More information about the amber-dev
mailing list