Download a feature using Maven - java

To integrate JavaFX into an existing RCP client I need to add the fx.runtime and fx.target features of the e(fx)clipse project to my IDE. I know that the usual way would be to download these by going to the targetplatform -> add new software, however I'd like to download these features and add them to a virtual P2 repository.
Is it possible to download a feature structure like in http://download.eclipse.org/efxclipse/runtime-released/2.3.0/site/ with Maven in a single pom.xml?

This is what I was looking for:
eclipse -nosplash -verbose
-application org.eclipse.equinox.p2.metadata.repository.mirrorApplication
-source Insert Source URL (e.g. http://download.eclipse.org/eclipse/updates/3.4milestones/)
-destination Insert Destination URL (e.g. file:/tmp/3.4milestonesMirror/)
More on this topic

Search for it here : https://mvnrepository.com/.
Copy despondency and you are ready to go.

Related

How to programmatically retrieve some build files in TeamCity?

I'm currently doing a plugin for TeamCity 8.1.4 to support our tool. The latter generates some JSON and HTML/CSS/JS files I would like to include in TeamCity UI through respectively a graph and some kind of frame I guess.
Our tool is supposed to generate these files in the directory of the project after each build is finished. I read in the docs that I could create "build artifacts", which are basically files kept on the server side. I figured I could then access them with getArtifactsDirectory() method from SBuild interface. The thing is, I have no idea how to instruct TeamCity to create a build artifact programmatically. Or maybe I'm thinking this backwards and there's another way to do this... I'd appreciate some pointers since the Plugin community forum looks dead.
If you are looking to adding an HTML content to build results or projects, please check out this documentation page: 'Including third-party reports in build results'
Configuratoin described in this doc can be done using Java API:
see jetbrains.buildServer.web.reportTabs.ReportTabManager docs to configure tab settings on server side.
see jetbrains.buildServer.agent.artifacts.ArtifactsWatcher to publish files from build agent. This one is used to publish files as build artifacts.
UPD The abovementioned components can be used by plugin to configure 'third party report tab' (without any manual configuration). This way, plugin can provide html report from build without need to access uploaded artifacts.

Add Copyright header to all project files (.java, .xml, ...)

I have several maven projects where I'd like to add a common header (copyright information, etc.). Is there a tool, or Eclipse plugin, to do this?
A simple shell script won't do the job, because some files already have such a header - and I don't just want to blindly append another header.
So some plugin with "sophisticated" logic would be appreciated ;-)
If your project supports Maven, you can use maven-license-plugin
There are instructions how to install and use it.

Is it possible to modify eclipse workspace via command-line?

Is it possible to access/manipulate an eclipse workspace via command-line?
I'm primarily asking about the workspace metadata rather than the files itself.
E.g. do things like
modify resource attributes (e.g. settings some resources to derived)
import existing projects
access markers
There are no command-line (headless) tools that I know of to perform these types of tasks. There are a few scripting projects for Eclipse out there that would provide a light-weight, scriptable interface to using the Eclipse API, however, none of them have command line available, I believe all of those scripting tools are UI based.
Another option would be to use Eclipse SDK to build an Eclipse application (headless app) that uses the Eclipse application model to perform the commands you wanted, but you would have to write the code yourself.
Here is a list of eclipse command line options: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html
Doesn't seem like there's one allowing to set the workspace, though...
Eclipse is not designed to be used on the command line. If you want to work with the command line I would highly recommend to use a build manager like Apache Maven or Apache Ivy in your project. The advantage is that your build does not depend on Eclipse, you can switch the IDE if you want and you can build your projects and edit dependencies on the command line. Your project and its build/deployment should be independent of an specific IDE.

View sources of used Java classes in IntelliJ Idea

In visual studio development environment when you use a library if you have the related pdb you can dig into their sources during debug. I wonder is there any way to have this feature when you are developing under Java with IntelliJ Idea IDE?
I want to see what hibernate do.
Of course, quoting the documentation:
Libraries may optionally include the source code for the library classes as well as corresponding API documentation. [...] However, it adds the ability to use inline documentation extracted from the source code, and also to view the API documentation right from the IDE.
The documentation doesn't mention you can then debug external libraries, which is obviously also possible.
In order to add sources choose:
File | Project Structure
Click Libraries tab
Pick library and click + icon
Find a JAR file containing sources.
If you are using build tool like maven, IntelliJ will automatically download and attach available source to all libraries, no manual work needed.
In my case, I had to add the JDK source files to the project as below.
Go to Project Structure -> SDKs -> Sourcepath
Use the Plus Sign on the right, and provide the path to your $JAVA_HOME/src.zip file.
Go to ➙ Implementation(s)
No one suggested the simple route with a context-menu:
import java.util.DesiredClass
select this import statement
right click -> Go to -> Implementation(s)
Done! The source code of the DesiredClass opens in a new tab.
This also works with selected class name in the body of your code.
Project Structure | Libraries (or Module Dependencies if libraries are defined there):
Then in the libries tab click on the plus mark:
Select the source type:
Then you have to select the source path and add the wanted libraries finally click apply!
If you use maven, there is a button "Download sourcec" on maven panel.
If you don't, you need to get sources of hibernate first, search on the internet. And then attach them: File -> Project Structure -> Libraries -> Your hibernate lib -> and attach source
Sources for JAVA API
In Debian, and Ubuntu,
To be able to view sources for Java core API classes, you can install:
sudo apt install openjdk-11-jdk openjdk-11-source
openjdk-*-source package contains the Java programming language source files
(src.zip) for all classes that make up the Java core API.
Once installed, you should be able to find the installed content under:
/usr/lib/jvm/java-11-openjdk-amd64
/usr/lib/jvm/java-11-openjdk-amd64/src.zip
Then in IntelliJ, add the JDK, in project settings. If src.zip is present within the provided JDK directory, IntelliJ will automatically use it as the sourcepath.
Sources for external libraries
If you're using Maven, you can get source files for external dependencies by clicking on the button 'Download Sources and/or Documentation' provided in Maven tool window.

How to upgrade the ant built into eclipse?

I use ANT for all my builds and I also use eclipse as my IDE and I would like to be able to use the latest version of ANT in my eclipse, frequently the ANT that ships with eclipse is a point release behind. so my questions are.
Is there an easy way to get the eclipse ant plug-in to use the latest version of ANT?
Is there any easy way to add extra custom ant libraries to the built in eclipse ANT plug in, as I would like to be able to add things like the subversion task to my ant build and have it accessible from within eclipse.
Download and unpack the latest ant build anywhere on your hard disk, then run Eclipse, and go to
Window > Preferences > Ant > Runtime
and click on the button called
Ant Home
Browse to the ant folder that you just unpacked, and choose that folder. Now Eclipse will use this version of ant instead of the built-in ant. I use this way, and actually prefer it, because now I have the same ant version in command line and in Eclipse
In the same window you can add any other jars with 3rd party ant tasks, and they will be used by ant (just 'add jars'/'add external jars')
While not easy, by my standards at least, this is the way to update the ant plugin. At least for RAD 8.5, I'm sure eclipse is similar.
Go to Help -> About RAD -> Intallation details -> Plugins ... locate the org.apache.ant plugin version you are using. Note the Provider ... in this case for me it was Eclipse Orbit.
Next you need the repository URL for Orbit, googling got me this page.
http://wiki.eclipse.org/Orbit/FAQ
Which describes how to locate the repository.
Find the Orbit build drop that you need here:
http://download.eclipse.org/tools/orbit/downloads/
Add 'repository' to the URL of the drop. For example, for the drop in
http://download.eclipse.org/tools/orbit/downloads/drops/S20101204061544/
the URL that you would use is:
http://download.eclipse.org/tools/orbit/downloads/drops/S20101204061544/repository/
I personally went with
http://download.eclipse.org/tools/orbit/downloads/drops/R20130827064939/repository
Next, if you are behind a proxy, make sure that your proxy config is correct and the IDE can connect to the internet.
Then go to Help -> Install New Software
Next to the Work With dropdown hit the Add button and enter the repository information.
Select the apache bundle from the list and complete the steps of the wizard to perform the update.
Now that the repository is added to the list, for future updates you can use the Help -> Check for Updates menu item.
Good Luck, took me a day to figure that out and work through it.

Categories

Resources