How to build kulla.jar

Robert Field robert.field at oracle.com
Mon Apr 20 15:21:14 UTC 2015


Thank you Mani!
Once the integration with the JDK is done (my hope is in a couple weeks) 
the build process will be a normal JDK build process.

Thanks,
Robert



On April 19, 2015 11:38:40 AM Mani Sarkar <sadhak001 at gmail.com> wrote:

> Your/our wish is now a reality. We can now download the latest builds of
> kulla.jar from the AdoptOpenJDK Cloudbees farm, see
> https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/langtools-1.9-linux-x86_64-kulla-dev/lastSuccessfulBuild/artifact/
>
> Both the artefacts are the fact same binaries, I have named them to
> identify the version and timestamp in one and mavenised the name in the
> other.
>
> It takes about 2 minutes to build and will be triggered regularly as and
> when changes are pushed into the repo.
>
> It does not run test or stress tests yet, but depending on the stability of
> these on the Cloudbees we will enable it. Of course it will be good to
> build and distribute binaries after it passes these checks.
>
> Thanks and enjoy using it - please send your feedback to the mailing list.
>
> Cheers,
> Mani
>
> On Wed, Apr 15, 2015 at 9:15 PM, Robert Field <robert.field at oracle.com>
> wrote:
>
> > Yes, we want regular OpenJDK Kulla builds.  I first step along that path
> > is that I need to integrate the REPL into the JDK/langtools.  I will be
> > beginning on that probably next week.
> >
> > -Robert
> >
> >
> > On 04/15/15 00:09, Martijn Verburg wrote:
> >
> >> Hi Mani,
> >>
> >> For now you'll have to replace the location of kulla.jar with instructions
> >> on how to build it from scratch.
> >>
> >> @kull-dev - Robert - is it possible to talk to the powers that be about
> >> being allowed to host nightly/weekly builds of kulla.jar? I'd prefer to
> >> see
> >> it hosted/provided by official OpenJDK infrastructure but we could also
> >> build and host it nightly on our Adopt OpenJDK Cloudbees instance.
> >>
> >> I know that most of code-tools is now allowed to be hosted in a binary
> >> format (you can speak to Jonathan Gibbons about that) so hopefully this
> >> should be doable.
> >>
> >> Cheers,
> >> Martijn
> >>
> >> On 15 April 2015 at 02:02, Mani Sarkar <sadhak001 at gmail.com> wrote:
> >>
> >>  I meant this page
> >>>
> >>> 
> http://neomatrix369.gitbooks.io/adoptopenjdk-getting-started-kit/content/openjdk-projects/kulla.html
> >>> .
> >>>
> >>> On Wed, Apr 15, 2015 at 1:00 AM, Mani Sarkar <sadhak001 at gmail.com>
> >>> wrote:
> >>>
> >>>  I have put together a page, with all the tips, tricks and links one must
> >>>> have at their finger tips with regards to Kulla.
> >>>>
> >>>> If you have any more to add to it, please let me know.
> >>>>
> >>>> Cheers,
> >>>> Mani
> >>>>
> >>>> On Tue, Apr 14, 2015 at 11:41 PM, Mani Sarkar <sadhak001 at gmail.com>
> >>>> wrote:
> >>>>
> >>>>  Hi Martijn
> >>>>>
> >>>>> Just saw the message, glad all is good. I think the instructions should
> >>>>> mention to keep a tab of the JDK on the PATH and the JAVA_HOME env
> >>>>> variables, and they point to JDK9.
> >>>>>
> >>>>> Cheers,
> >>>>> Mani
> >>>>>
> >>>>> On Tue, Apr 14, 2015 at 10:34 AM, Martijn Verburg <
> >>>>> martijnverburg at gmail.com> wrote:
> >>>>>
> >>>>>  Hi Andrei,
> >>>>>>
> >>>>>> It was the incorrect JDK!  All working now thanks.
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Martijn
> >>>>>>
> >>>>>> On 14 April 2015 at 09:57, andrei.eremeev <andrei.eremeev at oracle.com>
> >>>>>> wrote:
> >>>>>>
> >>>>>>  Hi Martijn,
> >>>>>>>
> >>>>>>>  Hi Mani/All,
> >>>>>>>>
> >>>>>>>> I'm running across compile issues like:
> >>>>>>>>
> >>>>>>>> src/impl/CompletenessAnalyzer.java:28: error: package
> >>>>>>>> com.sun.tools.javac.code does not exist
> >>>>>>>> import com.sun.tools.javac.code.Source;
> >>>>>>>>                                  ^
> >>>>>>>>
> >>>>>>>>  What JDK do you use to build/run REPL? JDK 8?
> >>>>>>> Clone and build this JDK:
> >>>>>>>    hg clone http://hg.openjdk.java.net/kulla/dev repl
> >>>>>>>    cd repl
> >>>>>>>    bash get_source.sh
> >>>>>>>    make images
> >>>>>>> Building might require installing additional packages.
> >>>>>>>
> >>>>>>> Thereafter, set and export JAVA_HOME:
> >>>>>>> ${PATH-TO-REPO}/build/${OS}/images/jdk
> >>>>>>> and PATH: ${JAVA_HOME}/bin:${PATH}.
> >>>>>>> Ensure that the version of JDK is 1.9:
> >>>>>>>    java -version
> >>>>>>>
> >>>>>>>  Also as an aside, the shell script assumes Linux (Mac OS X has sh
> >>>>>>>> located
> >>>>>>>> at #!/bin/sh)
> >>>>>>>>
> >>>>>>>>  Run script as "sh scripts/compile.sh" or "bash scripts/compile.sh".
> >>>>>>>
> >>>>>>>
> >>>>>>>> Cheers,
> >>>>>>>> Martijn
> >>>>>>>>
> >>>>>>>>  Andrei Eremeev
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>  On 14 April 2015 at 00:25, Mani Sarkar <sadhak001 at gmail.com> wrote:
> >>>>>>>>
> >>>>>>>>   Thanks Robert, works like  charm, also figured out how to create
> >>>>>>>> the
> >>>>>>>>
> >>>>>>>>> jar
> >>>>>>>>> for it.
> >>>>>>>>>
> >>>>>>>>> Cheers,
> >>>>>>>>> Mani
> >>>>>>>>>
> >>>>>>>>> On Sun, Apr 12, 2015 at 3:31 PM, Robert Field <
> >>>>>>>>> robert.field at oracle.com>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>   Yes, that is the right library. Get that library and install on
> >>>>>>>>> your
> >>>>>>>>>
> >>>>>>>>>> machine. There is an environment variable in compile.sh -- don't
> >>>>>>>>>> have
> >>>>>>>>>> access right now so I don't remainder is name but it should be
> >>>>>>>>>> obvious --
> >>>>>>>>>> set that environment variable to the location of the unpacked
> >>>>>>>>>> jline2
> >>>>>>>>>> library.
> >>>>>>>>>>
> >>>>>>>>>> Then run using the run.sh script.
> >>>>>>>>>>
> >>>>>>>>>> Hour that helps,
> >>>>>>>>>> Robert
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On April 12, 2015 6:58:38 AM Mani Sarkar <sadhak001 at gmail.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>    To give some more information from the above, when I did the
> >>>>>>>>>> below:
> >>>>>>>>>>
> >>>>>>>>>>     sh ./scripts/compile.sh
> >>>>>>>>>>>
> >>>>>>>>>>> Here's the response we got:
> >>>>>>>>>>>
> >>>>>>>>>>> src/tool/Repl.java:88: error: package jline.console does not
> >>>>>>>>>>> exist
> >>>>>>>>>>> import jline.console.ConsoleReader;
> >>>>>>>>>>>                       ^
> >>>>>>>>>>> src/tool/Repl.java:89: error: package jline.console does not
> >>>>>>>>>>> exist
> >>>>>>>>>>> import jline.console.KeyMap;
> >>>>>>>>>>>                       ^
> >>>>>>>>>>> src/tool/Repl.java:90: error: package jline.console.completer
> >>>>>>>>>>> does
> >>>>>>>>>>> not
> >>>>>>>>>>> exist
> >>>>>>>>>>> import jline.console.completer.Completer;
> >>>>>>>>>>>                                 ^
> >>>>>>>>>>> src/tool/Repl.java:91: error: package jline.console.history does
> >>>>>>>>>>> not
> >>>>>>>>>>>
> >>>>>>>>>>>  exist
> >>>>>>>>>> import jline.console.history.History;
> >>>>>>>>>>
> >>>>>>>>>>>                               ^
> >>>>>>>>>>> src/tool/Repl.java:92: error: package jline.console.history does
> >>>>>>>>>>> not
> >>>>>>>>>>>
> >>>>>>>>>>>  exist
> >>>>>>>>>> import jline.console.history.MemoryHistory;
> >>>>>>>>>>
> >>>>>>>>>>>                               ^
> >>>>>>>>>>> src/tool/Repl.java:1502: error: cannot find symbol
> >>>>>>>>>>>       final ConsoleReader in;
> >>>>>>>>>>>             ^
> >>>>>>>>>>>     symbol:   class ConsoleReader
> >>>>>>>>>>>     location: class ConsoleIOContext
> >>>>>>>>>>> src/tool/Repl.java:1645: error: cannot find symbol
> >>>>>>>>>>>       private final class EditingHistory implements History {
> >>>>>>>>>>>                                                     ^
> >>>>>>>>>>>     symbol:   class History
> >>>>>>>>>>>     location: class ConsoleIOContext
> >>>>>>>>>>> src/tool/Repl.java:1647: error: cannot find symbol
> >>>>>>>>>>>           private final History fullHistory;
> >>>>>>>>>>>                         ^
> >>>>>>>>>>>     symbol:   class History
> >>>>>>>>>>>     location: class ConsoleIOContext.EditingHistory
> >>>>>>>>>>> src/tool/Repl.java:1648: error: cannot find symbol
> >>>>>>>>>>>           private History currentDelegate;
> >>>>>>>>>>>                   ^
> >>>>>>>>>>>     symbol:   class History
> >>>>>>>>>>>     location: class ConsoleIOContext.EditingHistory
> >>>>>>>>>>> src/tool/Repl.java:1650: error: cannot find symbol
> >>>>>>>>>>>           public EditingHistory(History delegateTo) {
> >>>>>>>>>>>                                 ^
> >>>>>>>>>>>     symbol:   class History
> >>>>>>>>>>>     location: class ConsoleIOContext.EditingHistory
> >>>>>>>>>>> error: Class names, 'build', are only accepted if annotation
> >>>>>>>>>>> processing
> >>>>>>>>>>>
> >>>>>>>>>>>  is
> >>>>>>>>>> explicitly requested
> >>>>>>>>>>
> >>>>>>>>>>> src/tool/Repl.java:1507: error: cannot find symbol
> >>>>>>>>>>>           in = new ConsoleReader(cmdin, cmdout);
> >>>>>>>>>>>                    ^
> >>>>>>>>>>>     symbol:   class ConsoleReader
> >>>>>>>>>>>     location: class ConsoleIOContext
> >>>>>>>>>>> src/tool/Repl.java:1532: error: cannot find symbol
> >>>>>>>>>>>           in.addCompleter(new Completer() {
> >>>>>>>>>>>                               ^
> >>>>>>>>>>>     symbol:   class Completer
> >>>>>>>>>>>     location: class ConsoleIOContext
> >>>>>>>>>>> src/tool/Repl.java:1596: error: cannot find symbol
> >>>>>>>>>>>           KeyMap km = in.getKeys();
> >>>>>>>>>>>           ^
> >>>>>>>>>>>     symbol:   class KeyMap
> >>>>>>>>>>>     location: class ConsoleIOContext
> >>>>>>>>>>> src/tool/Repl.java:1599: error: cannot find symbol
> >>>>>>>>>>>               if (value instanceof KeyMap) {
> >>>>>>>>>>>                                    ^
> >>>>>>>>>>>     symbol:   class KeyMap
> >>>>>>>>>>>     location: class ConsoleIOContext
> >>>>>>>>>>> src/tool/Repl.java:1600: error: cannot find symbol
> >>>>>>>>>>>                   km = (KeyMap) value;
> >>>>>>>>>>>                         ^
> >>>>>>>>>>>     symbol:   class KeyMap
> >>>>>>>>>>>     location: class ConsoleIOContext
> >>>>>>>>>>> src/tool/Repl.java:1655: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1660: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1665: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1670: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1677: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1682: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1687: error: cannot find symbol
> >>>>>>>>>>>                           if (!(entry.value() instanceof
> >>>>>>>>>>> NarrowingHistoryLine))
> >>>>>>>>>>>                                      ^
> >>>>>>>>>>>     symbol:   method value()
> >>>>>>>>>>>     location: variable entry of type Entry
> >>>>>>>>>>> src/tool/Repl.java:1689: error: cannot find symbol
> >>>>>>>>>>>                           int[] cluster = ((NarrowingHistoryLine)
> >>>>>>>>>>> entry.value()).span;
> >>>>>>>>>>>
> >>>>>>>>>>>      ^
> >>>>>>>>>>>     symbol:   method value()
> >>>>>>>>>>>     location: variable entry of type Entry
> >>>>>>>>>>> src/tool/Repl.java:1691: error: cannot find symbol
> >>>>>>>>>>>                               currentDelegate = new
> >>>>>>>>>>> MemoryHistory();
> >>>>>>>>>>>                                                     ^
> >>>>>>>>>>>     symbol:   class MemoryHistory
> >>>>>>>>>>>     location: class ConsoleIOContext.EditingHistory
> >>>>>>>>>>> src/tool/Repl.java:1722: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1729: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1736: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1743: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1750: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1757: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1762: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1767: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1772: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1777: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1782: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1787: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1792: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1797: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> src/tool/Repl.java:1802: error: method does not override or
> >>>>>>>>>>> implement a
> >>>>>>>>>>> method from a supertype
> >>>>>>>>>>>           @Override
> >>>>>>>>>>>           ^
> >>>>>>>>>>> 40 errors
> >>>>>>>>>>>
> >>>>>>>>>>> Cheers,
> >>>>>>>>>>> Mani
> >>>>>>>>>>>
> >>>>>>>>>>> On Sun, Apr 12, 2015 at 1:50 PM, Mani Sarkar <
> >>>>>>>>>>> sadhak001 at gmail.com>
> >>>>>>>>>>>
> >>>>>>>>>>>  wrote:
> >>>>>>>>>> Hi,
> >>>>>>>>>>
> >>>>>>>>>>> I'm at the LJC hackday in London and we are trying out Kulla and
> >>>>>>>>>>>> would
> >>>>>>>>>>>> like to know how to go about build kulla.jar from the OpenjDK
> >>>>>>>>>>>> code
> >>>>>>>>>>>>
> >>>>>>>>>>>>  base, I
> >>>>>>>>>>>
> >>>>>>>>>>>  came across this link (README file)
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> http://hg.openjdk.java.net/kulla/dev/langtools/file/
> >>>>>>>>>>>>
> >>>>>>>>>>>>  4933dc482be7/repl/README
> >>>>>>>>>>>
> >>>>>>>>>>>  but no luck trying to build it.
> >>>>>>>>>>>>
> >>>>>>>>>>>> What should this variable point to JLINE2LIB ? Is this the same
> >>>>>>>>>>>>
> >>>>>>>>>>>>  library
> >>>>>>>>>>>
> >>>>>>>>>> as
> >>>>>>>>>>
> >>>>>>>>>>> https://github.com/jline/jline2 ?
> >>>>>>>>>>>>
> >>>>>>>>>>>> Any help is appreciated.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Cheers,
> >>>>>>>>>>>> Mani
> >>>>>>>>>>>>
> >>>>>>>>>>>> --
> >>>>>>>>>>>> @theNeomatrix369 <http://twitter.com/theNeomatrix369>*  |
> >>>>>>>>>>>> **Blog
> >>>>>>>>>>>> <http://neomatrix369.wordpress.com>**  |  *LJC Associate & LJC
> >>>>>>>>>>>>
> >>>>>>>>>>>>  Advocate
> >>>>>>>>>>>
> >>>>>>>>>> (@adoptopenjdk & @adoptajsr programs)
> >>>>>>>>>>
> >>>>>>>>>>> *Meet-a-Project - *MutabilityDetector
> >>>>>>>>>>>> <https://github.com/MutabilityDetector>*  |  **Bitbucket
> >>>>>>>>>>>> <https://bitbucket.org/neomatrix369>* * |  **Github
> >>>>>>>>>>>> <https://github.com/neomatrix369>* * |  **LinkedIn
> >>>>>>>>>>>> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>*
> >>>>>>>>>>>> *Come to Devoxx UK 2015:* http://www.devoxx.co.uk/
> >>>>>>>>>>>>
> >>>>>>>>>>>> *Don't chase success, rather aim for "Excellence", and success
> >>>>>>>>>>>> will
> >>>>>>>>>>>>
> >>>>>>>>>>>>  come
> >>>>>>>>>>>
> >>>>>>>>>> chasing after you!*
> >>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>  --
> >>>>>>>>>>> @theNeomatrix369 <http://twitter.com/theNeomatrix369>*  |
> >>>>>>>>>>> **Blog
> >>>>>>>>>>> <http://neomatrix369.wordpress.com>**  |  *LJC Associate & LJC
> >>>>>>>>>>> Advocate
> >>>>>>>>>>> (@adoptopenjdk & @adoptajsr programs)
> >>>>>>>>>>> *Meet-a-Project - *MutabilityDetector
> >>>>>>>>>>> <https://github.com/MutabilityDetector>*  |  **Bitbucket
> >>>>>>>>>>> <https://bitbucket.org/neomatrix369>* * |  **Github
> >>>>>>>>>>> <https://github.com/neomatrix369>* * |  **LinkedIn
> >>>>>>>>>>> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>*
> >>>>>>>>>>> *Come to Devoxx UK 2015:* http://www.devoxx.co.uk/
> >>>>>>>>>>>
> >>>>>>>>>>> *Don't chase success, rather aim for "Excellence", and success
> >>>>>>>>>>> will come
> >>>>>>>>>>> chasing after you!*
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>  --
> >>>>>>>>> @theNeomatrix369 <http://twitter.com/theNeomatrix369>*  |  **Blog
> >>>>>>>>> <http://neomatrix369.wordpress.com>**  |  *LJC Associate & LJC
> >>>>>>>>> Advocate
> >>>>>>>>> (@adoptopenjdk & @adoptajsr programs)
> >>>>>>>>> *Meet-a-Project - *MutabilityDetector
> >>>>>>>>> <https://github.com/MutabilityDetector>*  |  **Bitbucket
> >>>>>>>>> <https://bitbucket.org/neomatrix369>* * |  **Github
> >>>>>>>>> <https://github.com/neomatrix369>* * |  **LinkedIn
> >>>>>>>>> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>*
> >>>>>>>>> *Come to Devoxx UK 2015:* http://www.devoxx.co.uk/
> >>>>>>>>>
> >>>>>>>>> *Don't chase success, rather aim for "Excellence", and success will
> >>>>>>>>> come
> >>>>>>>>> chasing after you!*
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>> --
> >>>>> @theNeomatrix369 <http://twitter.com/theNeomatrix369>*  |  **Blog
> >>>>> <http://neomatrix369.wordpress.com>**  |  *LJC Associate & LJC
> >>>>> Advocate
> >>>>> (@adoptopenjdk & @adoptajsr programs)
> >>>>> *Meet-a-Project - *MutabilityDetector
> >>>>> <https://github.com/MutabilityDetector>*  |  **Bitbucket
> >>>>> <https://bitbucket.org/neomatrix369>* * |  **Github
> >>>>> <https://github.com/neomatrix369>* * |  **LinkedIn
> >>>>> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>*
> >>>>> *Come to Devoxx UK 2015:* http://www.devoxx.co.uk/
> >>>>>
> >>>>> *Don't chase success, rather aim for "Excellence", and success will
> >>>>> come
> >>>>> chasing after you!*
> >>>>>
> >>>>>
> >>>>
> >>>> --
> >>>> @theNeomatrix369 <http://twitter.com/theNeomatrix369>*  |  **Blog
> >>>> <http://neomatrix369.wordpress.com>**  |  *LJC Associate & LJC Advocate
> >>>> (@adoptopenjdk & @adoptajsr programs)
> >>>> *Meet-a-Project - *MutabilityDetector
> >>>> <https://github.com/MutabilityDetector>*  |  **Bitbucket
> >>>> <https://bitbucket.org/neomatrix369>* * |  **Github
> >>>> <https://github.com/neomatrix369>* * |  **LinkedIn
> >>>> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>*
> >>>> *Come to Devoxx UK 2015:* http://www.devoxx.co.uk/
> >>>>
> >>>> *Don't chase success, rather aim for "Excellence", and success will come
> >>>> chasing after you!*
> >>>>
> >>>>
> >>>
> >>> --
> >>> @theNeomatrix369 <http://twitter.com/theNeomatrix369>*  |  **Blog
> >>> <http://neomatrix369.wordpress.com>**  |  *LJC Associate & LJC Advocate
> >>> (@adoptopenjdk & @adoptajsr programs)
> >>> *Meet-a-Project - *MutabilityDetector
> >>> <https://github.com/MutabilityDetector>*  |  **Bitbucket
> >>> <https://bitbucket.org/neomatrix369>* * |  **Github
> >>> <https://github.com/neomatrix369>* * |  **LinkedIn
> >>> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>*
> >>> *Come to Devoxx UK 2015:* http://www.devoxx.co.uk/
> >>>
> >>> *Don't chase success, rather aim for "Excellence", and success will come
> >>> chasing after you!*
> >>>
> >>>
> >
>
>
> --
> @theNeomatrix369 <http://twitter.com/theNeomatrix369>*  |  **Blog
> <http://neomatrix369.wordpress.com>**  |  *LJC Associate & LJC Advocate
> (@adoptopenjdk & @adoptajsr programs)
> *Meet-a-Project - *MutabilityDetector
> <https://github.com/MutabilityDetector>*  |  **Bitbucket
> <https://bitbucket.org/neomatrix369>* * |  **Github
> <https://github.com/neomatrix369>* * |  **LinkedIn
> <http://uk.linkedin.com/pub/mani-sarkar/71/a77/39b>*
> *Come to Devoxx UK 2015:* http://www.devoxx.co.uk/
>
> *Don't chase success, rather aim for "Excellence", and success will come
> chasing after you!*


More information about the adoption-discuss mailing list