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