Creating a Maven-like project documentation website with gradle - gradle

Maven provides a way to generate a project documentation site. Does Gradle provide a similar plugin?

The only site plugin that I am aware of is this one. I personally I haven't tried it so I can't tell you about its feature set or quality.

I had to move on to something else soon after commenting, then forgot about checking out the plugin Benjamin mentioned. I had a little time this evening so I looked at it. The plugin hasn't been updated in 3 years, so it appears abandoned/dead. I couldn't find a place to download the artifact, so I cloned the Git repo and built it.
I spent a little time trying to get it to work, but gave up. I looked around a little to see what else is out there. A couple of options that look promising are Gradle's TestReport task:
http://www.gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.TestReport.html
and the Gradle Site Plugin:
https://bitbucket.org/davidmc24/gradle-site-plugin
but I only played around with them for an hour and haven't used them in a real project.

Related

tslint-eslint-rules with SonarQube?

I am quite new with tslint-eslint-rules and I am planning to use this in my project . But moving forward I have to use this as a plugin in SonarQube(which is also quite new to me) as well . I know that Sonar provides TS plugin but is it possible to use tslint-eslint-rules(or any linting) instead of using Sonar provided plugin?
I have gone through this link and it says I can create my own plugin like this. I am scratching my head as I am not sure if this is the solution I am looking for.
Can someone please help me out here.
I'm using https://github.com/SonarSource/SonarTS and I can recommend it for 100%. Nice think is you don't have to install sonar, you just add it as plugin to tslint.

Jenkins pipeline usage for xcode

Are there instructions for using the xcode plugin from a jenkins pipeline?
I'm moving some freestyle projects to pipeline and have realised I've left a step out: Import developer profile. I'd like to know how to do that from a jenkins pipeline. I assume this should involve the xcode plugin, but it does not come up in the snippet editor and I see no documentation.
I got a steer to this on the Jenkins site.
IF on the snippet generator, you look under steps, there is something that generates xcode-related fragments. Don't know why this does not come out under xcode, like other plugins, but I guess that is a different matter.
I have not yet worked out how to do my original scenario but I guess I need to sit down some time and give it a good try. In the meantime, I'm using secret text for the password I need.

How to publish a Maven project

I am developing a Java framework/API to solve a problem at a client. The code/idea is my property (not the client's). I think it might be useful for others, so I would like to publish it as a open source project.
By publishing I mean bringing it out in the open - making it available as a Maven project.
I can think of conforming to Maven structure, proper documentation/example usage available on a web site, and unit tests, maybe some code coverage threshold.
But does it have to be run by some committee? Do I have to present it to somebody? What steps do I need to take to eventually have it available as a Maven dependency?
There's no committee or approval process that I know of. All you have to do is put your code into a public Github repo. This is how open source software works.
Per Kapep's excellent suggestion below, you have to choose a license as well. Apache, Creative Commons, Gnu, MIT - these are a few of your choices. Know what they mean before you decide.
Your problem begins on that day - you'll have to make others aware of it and see if it's adopted by others. If it's good, you'll have the nice problems of dealing with a user base and having others change your code. If not, it'll languish in the repo.

Maven project uploads to Google Code 'Downloads' tab

Note: I am not asking how to use Google Code's SVN repo as a Maven repo :-)
I'm looking for the simplest / most reliable way to automate uploading the built artifacts of a Maven project to a Google Code 'Downloads' tab.
I've found 4 different Google Code Maven plugins that claim to do this, but would appreciate any advice on evaluating them as fit-for-purpose, because they all seem to be in various states of inactivity.
maven-googlecode-plugin (Last commit: Sept 2009. Latest version: 0.0.1-SNAPSHOT)
gcupload-maven-plugin (Last commit: Jan 2009. Latest version: 0.9)
maven-gcu-plugin (Last commit: Oct 2010. Latest version: 1.1)
maven-googlecode (Last commit: Feb 2008. Latest version: 2.0, but labelled 'test')
In addition to these 'level of activity' clues, some of them offer their releases on the 'Downloads' tabs, which might be a good sign from an 'eat your own dogfood' viewpoint; but as these are supposed to be Maven plugins, having them available in Maven Central might inspire more confidence.
Anyone care to comment (perhaps even the owners / committers of these projects) ?
Thanks!
Update:
I have test-driven each one of these in turn and could not get any of them to work as advertised.
Two of them are still configured to upload to a Google Code URL ending in /files, whilst another claimed to work and reported success, but the artifacts did not appear in the 'Downloads' tab. With the last one there appeared to be no released code which could be referenced as a Maven plugin.
I have since emailed each of the project committers to see what can be done.
If you are not averse to looking beyond maven plugins, google code has a SciptedUploads documentation, which seems to provide a python script and an ant task for doing this.
You may want to start reading the comments bottoms-up to see challenges using them, if any.
I got to this page by clicking on the link to "Create a New Download" for my google code project and clicking on the "Tip".
I always wondered why google didn't offer a Maven repository for each project by default.
Digging further, I discovered the following deprecated project:
http://code.google.com/p/google-maven-repository/
It appears the recommendation is to publish releases to Maven Central. This makes a lot of sense, as it certainly simplifies the discovery and integration of your project with other open source.
This movement towards Maven Central is a welcome and increasing trend in Java projects. Large projects like Oracle, Spring and JBoss are now publishing their releases there.

Any pattern for using Maven to checkout/patch/build a non-maven based open source project?

I need to have a small patch applied to the sources of an open source project before we can use the library it generates. I'd like to automate this as much as possible, and am hoping to find some pattern that will let me:
check out the sources
apply my (very small) patch
build the project using it's build system (i.e., call ant)
Is there an example anywhere of doing something like this? Right now, I'm playing with the scm and patch plugins, but it's nothing simple...
I was actually able to do this in just a couple steps, using mvn:scm:export and mvn:patch.
Essentially, you have scm:export run during the generate-sources step, exporting to your ./src/main/java/ directory, then patch runs, then the rest of your pom.xml acts as normal.
I can post a sample, but it came out pretty simple... just took a lot of referencing of the manual.

Resources