Seva's notes

Wisdom, Awareness, Responsibility :)

Archive for the ‘java’ Category

Phing plugin for Eclipse PDT

with 6 comments

I love Ant integration into Eclipse JDT – it provides smart editor, handy auto-completion, and the most important – fully functional debugger.

Recently I have been laboring on porting a deployment system from shell scripts to Phing, a loose PHP port of Ant. And naturally, I miss the above. I still get a little aid from Eclipse – since Phing’s syntax is very close to Ant’s, I can at use Ant editor for Phing files to enjoy property navigation and target integrity validation.

I would be more than happy to announce that I’m going to fill the gap and implement Phing plugin for Eclipse PDT, but unfortunately – I’m too busy and too lazy. On the other hand, if you, my dear friend, will suddenly decide to accept this challenge, I can gladly invest my time in architecture, design, review & testing free of charge. 🙂 Or should I anyway try to start it myself?

Written by Seva

2010-04-15 (April 15) at 12:31:09

SyntaxHighlighter

leave a comment »

Shame on me! I’ve discovered that wordpress.com provides syntaxHighlighter functionality just today. So I hurry to report that the only 2 posts in this blog, which contain code snippets have been immediately converted:

<a href="https://sevalapsha.wordpress.com/2008/06/26/copy-nodes-xml-documents-java-dom/">
    Copying nodes between XML documents with Java DOM
</a>
&amp;
<a href="https://sevalapsha.wordpress.com/2008/08/11/prototype-google-analytics-javascript/">
    Prototype styled Google Analytics javascript snippet
</a>

BTW, isn’t it weird I don’t have one snipped in PHP yet?

Written by Seva

2009-09-16 (September 16) at 09:14:52

Posted in html, java, javascript, php, software, web, xml

Tagged with

Iterators in PHP

leave a comment »

Recently, while playing with Scala/Python/PHP comparative implementation of lazy algorithms (I will hopefully describe them some days later) with colleague and friend of mine Michael Fuks, I sorrowfully discovered that, despite there are several SPL units, which define basic Iterator interfaces and functionality, most of the functionality available for arrays is missing for Iterators.

So I decided to fill the gap and started to reimplement for Iterators the applicable non-trivial array functions and also started trying to simulate iterator comprehension (generator routines) in PHP which is missing there too. For this reason I opened a GoogleCode project of php-iterator-utils – please observe my first experiments here.

In addition I need to notice that latest NetBeans build (6.8) branch has great PHP 5.3 support and feels more stable, fast and functional than Eclipse PDT 😦

Written by Seva

2009-08-03 (August 3) at 03:46:35

Programming in Scala

leave a comment »

Got the Programming in Scala eBook. I hope to get time and build an experimental Eclipse Plugin with it.

Written by Seva

2009-07-05 (July 5) at 11:41:19

The Java Explorer

leave a comment »

I’m happy to announce that Eyal Schneider, the collegue of mine, has been finally convinced to open a blog to share his knowledge and experience.

Written by Seva

2009-05-24 (May 24) at 11:59:41

Posted in development, java

Eclipse Galileo RC1 Update Manager RT Equinox P2 is still not good enough for me yet

with one comment

I’ve just failed to install JDT over clean Eclipse Platform RC1 (and this time a bug has been opened):

An error occurred while installing the items
session context was:(profile=PlatformProfile, phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Install, operand=null –> [R]org.eclipse.ant.ui 3.4.0.v20090504, action=org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions.InstallBundleAction).
Error while loading manipulator.
Error while loading manipulator.

Retrying causes the message immediately. Reverting to the previous installation stage does not help. Restarting does not help either.

It’s very sad that what they call Release Candidate is still rare. Waiting for the release…

Written by Seva

2009-05-21 (May 21) at 01:19:32

Posted in eclipse, integration, java

Eclipse Maven Integration

with 4 comments

Honestly, I was pretty unsure regarding Maven at all. “Why should I port my projects from Ant, where everything is plain, simple and predictable? Single point integration jars are connected to their dependent projects, shared ones are extracted to a Libraries project. Deployment is as easy as checkout and build…” – I convinced myself.

But soon I’ve realized that if our team’s Product is no more than a chain in the string of Products and Components which are unified into the Solution, than why the hell should our code base not to be like that? It’s so nice that lots of Environments has their packaging systems which make installation simple and aesthetic… So if you work in Java and harmony and beauty are not just senseless terms for you, believe me, you should use Maven.

The main Maven’s advantage over Ant is that each dependency, called artifact can be (and commonly is) an independent project with its own history of versions and dependencies. So, if you want your project to be dependent of any library, you can just find it in one of major Maven repositories, add its id to your pom and – voila! it works.

Then, when time comes to deploy your stuff, you pack it and do the same – upload your stuff to another maven repository. Here the cycle closes and the universal happiness has been achieved.

Now, regarding the subject. There are 2 Maven Eclipse plug-ins in the market – m2eclipse and q4eclipse. Both of them recently were accepted as Eclipse native incubation projects as M2E and IAM. I tried them both starting from the second, but as it always happens, the first was the better one. M2E is very stable, comfortable and easy to understand w/o any documentation, while IAM is pretty buggy and unclear.

So I chose M2E to work with and it took just about 3 hours to convert all my projects to poms, configuring all their dependencies and then converting the projects into Maven managed ones. With the last action, all the Eclipse dependencies convert into Maven dependencies, the build is replaced with Maven build and it guarantees that there will be no surprises in production builds. And then you can proceed with LB/Continuum/CC with no time spent to understand why nothing doesn’t get built correctly.

Now what’s remaining is to reintegrate the changes from the sandbox branch and help the team to not be too scared of the changes 🙂

Written by Seva

2009-02-20 (February 20) at 05:10:21