How to build kulla

Martijn Verburg martijnverburg at gmail.com
Sun Jun 21 17:48:27 UTC 2015


Hi Robert,

Does this mean for the kulla-dev forest I could go:

hg clone <url for kulla-dev>
./get_source.sh
make clean images

And the REPL will be available?



Cheers,
Martijn

On 21 June 2015 at 00:42, Robert Field <robert.field at oracle.com> wrote:

>  Dear Mani, Martijn,
>
> Thank you for this work.
>
> Kulla (aka JShell) has moved quite a ways now towards being ready to merge
> into JDK9.  Jline is now integrated into the jdk side of the Kulla repo.
> This version of jline has been made more platform independent (no longer
> requiring the external native libraries).  JShell now uses this.
>
> As a result the unit of a Kulla/JShell build is now a full JDK build.
> Would it be possible to do full Kulla JDK builds now?
>
> Thanks,
> Robert
>
>
>
> On 04/25/15 05:40, Mani Sarkar wrote:
>
> You are welcome Robert.
>
>  I noticed you guys have moved the sources around, so I have update our
> build farm to reflect that.
>
>  Start build 27, see
> https://adopt-openjdk.ci.cloudbees.com/view/OpenJDK/job/langtools-1.9-linux-x86_64-kulla-dev/27/,
> we have a working version again (please do not download artefacts previous
> to this one).
>
>  Cheers,
> Mani
>
>
> On Mon, Apr 20, 2015 at 4:21 PM, Robert Field <robert.field at oracle.com>
> wrote:
>
>>   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!*
>>>
>>
>
>
>  --
>  @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 kulla-dev mailing list