This post is attended to everyone who is creating Java applications with Eclipse Rich Client Platform. This article describes a working tycho configuration on working project (demo) project. That project can be build fully automatically with tycho on your CI server e.g. Jenkins.
If you have developed Eclipse RCP, you maybe also come to the conclusion that PDE-Build out of Eclipse IDE is not really an apropriate and stable way to build serious, production ready applications. But also automatization of PDE Build was not straightforward task, and a such is still not well documented (IMHO).
Furthermore maybe you heard about some alternatives like buckminister approach or athena. There is also a couple more approaches, but my focus yet is on tycho because i believe it has bright feature.
So again this post describe kick stat tycho approache the next topic may cover, artifact repository, CI Server or, advanced tycho tasks, fill fre to comment…
Let me introduce tycho in few words here. Technically tycho is a set of maven plugins. But let it be said at the beginning, tycho tries to use all the eclipse PDE/JDT metadata first, everywhere it’s possible and therefore one of the goals of tycho project is to minimise configuraton duplication in maven artefacts. I try to show how this works on a working example.
But first here is the self-speaking list of tychos packaging types, i will covers here some of them more detailed.
- eclipse-plugin result in Eclipse Plug-In bundle
- eclipse-test-plugin result in a test Plugin
- eclipse-feature wich eclipse feature as Result
- eclipse-application builds Eclipse Applicaton
- eclipse-repository builds repository an executables
- eclipse-update-site responisble for update-sites
Tycho current release is 0.13.0 and is used in my example.
Read more »
Looking on my block at the end of the year i see than nearly two years ago i wrote about extracting archives under Linux but not about putting files in to archives. Now a have some time to continue.
Here are some common way to create your archives.
#Creates simple targetfile.tar without compression.
tar cvf targetfile.tar sourcedir/*
#Zip everything beneath sourcedir to targetfile.tar.gz
tar cvzf targetfile.tar.gz sourcedir/*
#Bzip2 everything beneath sourcedir to targetfile.tar.bz2
tar cvjf targetfile.tar.bz2 sourcedir/*
- c or –create create a new archive
- v or –verbose verbosely list files processed
- z or –gzip usage of gzip compression (or also decompression, context dependent)
- j or –bzip2 usage of bzip2 compression
- f or –file use archive file
Alternative with pipe usage:
tar -cf - sourcedir | gzip -c > filename.tar.gz
#Zip every file in current directroy to file.zip.
#But hidden files like (.htaccess) are not included.
zip file.zip sourcedir/*
#also includes hidden files.
zip file.zip sourcedir/*.*
The above examples include directories but still not their content recursively, -r option is required.
#Adds all files and directories recursivly.
zip file.zip -r /sourcedir/*
#Same as abowe with addtional enryption and password lock.
#Password is prompted on the terminal.
zip file.zip -re /sourcedir/*
#Splitts creted archive to parts not bigger than 2 Gigabytes.
zip -s 2g -r test.zip ./*
Hope that helps someone.
Happy new year!!!
This is a short step by step explanation of the setup of JBoss 7.0.2 on your Linux (explicit debian). Nowadays there is still no official Debian package for JBoss 7 out there, so we have to do a couple of steps manually. First i describe how to download and to prepare the jboss. Secondly we do some basic configuration that you’ll be needed and at the end i will show you one of the ways to register JBoss as a service.
1. download and prepare.
Start by download currently available version (7.0.2) of the JBoss 7.
#Web Profile version download.
Extracting files to the final location using tar.
Read more »
Here is just an example of how to install java 7 on your linux.
I use current Debian and oracle (former sun) java 7.
First i had to download the latest java from oracle site and then extract it. I have to do it because at the moment the is no official debian package for java 7.
So we are not able to do it with apt-get as we can it for java 6.
Read more »
What is your favorite Free or Open-Source UML Plug-in?
Every year i try some of them and remove them after few hours. As i remember, they where resource-hungry or just bad in reverse engineering
Some weeks ago i tried ObjectAid UML Explorer Class Diagram and liked it. It could quick and easy create simple class Diagrams – just by Drag & Drop. And i had no problems with static constructors or inner classes and other stuff in the code which causes problems to another Plug-ins.
Unfortunately Object Aid Sequence Diagram are not free but cost not much for private usage. Maybe i’ll try it soon.
But first i would ask you what is your favorite Eclipse IDE Plug-in for fast and easy (e.g. partly) revers engineered UML diagrams which can be used to show some architectural details to your colleagues?
Thank you for comments!
The pictureon the right (klick to enrange) shows how Ubunto boot process is going on my 5 years old Thinkpad T60. Bootchart utility does such charts automatically. If you interestiong how easy it it to enable such bootcharting read below.
See how to install bootchart logger on ubuntu, and other linux distributions.
Yo need bootchart and, pybootchartgui
apt-get install bootchart
apt-get install pybootchartgui
Read more »
I want to share with you some thoughts on GIT because I think that was a right invention to the right time and place.
(This article should be finished half year ago right after i wrote about svn server installation, but unfortunatelly i didn’t find any time to finish it untill now.)
My first version control system (VCS) was CVS and i used it with eclipse 2.0 for programming in java. I found CVS quite impressive and liked it a lot. It was also quite reliable and moderatelly fast.
Then someone at the university told us to use SVN, because it has “plenty” of advantages. Somehow i found SVN not bad even if the eclipse svn plugin quality was never quite good. However SVN matured and became powerful source control system and many many people and companies started using it. I think it’s the most used version control system.
I like SVN for easy branching and tagging (with good eclipse plugin support), for global version numbers, for understanding “http://” (with Web-Dav) as well as for more comfortable managing tools and easy installation and configuration.
But that’s all what i like… There is no more practical advantages over CVS and moreover there are even some disadvantages also in comparison to cvs.
- SVN is slow and double slow over HTTP. It may not be critical if you do your changes on several files and them commits ‘em. I’m doing so in my java project and it’s ok. But there could be also other scenarios e.g. if you deal with such “monsters” like magento, performance gain very fast on importance
- Folder movement is a nightmare. With the subversion you have to know what you do when you start move around your folders.
- Ugly .svn folders in the folder tree of your project. O course cvs had them too. But do we really need them? Sometimes i just wanna to copy my project tree without that stuff.
- Not closed connection (don’t know if it is an server or eclipse plugin bug). Sometimes svn commits leave not closed connection. Eclipse hangs.
- SVN consumesa lot of space, more than cvs local and on the server.
- You need to be online if you want to commit.
All of these disadvantages i mentioned above are fixed in GIT. Git is much faster, flexible. So let install it! Read more »
This post visualizes changes between Java EE Standards 5 and 6. The comparison of standards is listed in four sections Web-Services, Web-Container, Enterprise Application technologies and Maintenance. Hope this helps someone.
Web Service related changes
|Java EE 5 (JSR-244)
||Java EE 6 (JSR-316)
|JAX-RPC 1.1 JSR 101
|Enterprise Web Services 1.2 JSR 109
||Enterprise Web Services 1.3 (new version)
|Web Service Metadata 1.0 JSR 181
||Web Service Metadata 1.0
|Streaming API for XML 1.0 JSR 173
||Streaming API for XML 1.0
|JAX-WS 2.0 JSR 224
||JAX-WS 2.2 (new version)
|JAXB 2.0 JSR 222
||JAXB 2.2 (new version)
|SOAP with Attachments API for Java (SAAJ) JSR 67
||Java APIs for XML Messaging 1.3 (new version) spec
||new! JAX-RS 1.1 JSR 311
||new! Java API for XML Registries (JAXR 1.0) JSR 93
Read more »
Today i describe the few steps of installation of subversion (with repository) on Linux (Debian lenny). That description show the installtion proccess in 5 steps. And the configuration of Apache Mod-DAV as additiona information. So let’s start.
Step 1: Install subversion
If subversion is not installed, install it with:
$apt-get install subversion
Read more »
Today i’ll give you some interesting examples of using lsof command.
lsof stands for “list open files”. So actually it shows all files used by some processes of a system. That command exist on most of and on different Linuxes and Unixes.
It bases on architecture of a kernel which causes evety procces to hold it used files in /proc – (a virtual file-system). A typical hierarchy wold look like:
/proc/process id/fd/file descriptor
In the absence of any options, lsof lists all open files belonging to all active processes of a system. But that is to much for most cases, because many of cases are networkrelated. An if you consider that sockets are files in linux we can use lsof to search fo them. Read more »