Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [recommenders-dev] 答复: [args] setting up a build and update site

Hi,

>  But we still have some questions.
>  1. If we follow the two steps, then Hudson will automated run maven and
> publishes the update site when we commit changes, right?

not automatically, no.

But we can then very easily set up a Hudson build job that does so, yes.

>  2. Hudson will publish the site to 'dist' folder, is there any update site
> URL for users?

Tycho will place the contents of an update site below dist (e.g.,
dist/org.eclipse.recommenders.repository.rcp.head.e42/target/repository
for the current Recommenders 4.2 head). The contents of this directory
are then copied by Hudson to a webserver, which serves the updates to
your users.

That being said, you can test the build update site locally, using a
file: URI; the contents of dist/*/target/repository are the update
site's contents.

>  3. As our project have many dependences like
> "org.eclipse.recommenders.utils.rcp ", "
> org.eclipse.recommenders.completion.rcp"... Maybe it's different from Jayes.
> Essentially, our project is mostly like the sub project of
> "org.eclipse.recommenders.completion.rcp.overrides". So we want to know if
> there's a lot of dependences what should be done to solve this problem? Or
> is there any examples, so we can learn from it.

OK, figure out whether you have dependencies which we don't. If you do,
you need to define your own target definition.

For example, our Maven project targets/e42 contains a target definition
file (e42.target) that points to all update sites which should be
consulted for dependencies needed during the Recommenders build. In your
case, you probably want to list the Juno update site
<http://download.eclipse.org/releases/juno/> somewhere, just like we did
in e42.target.

However, if you don't need more dependencies than we do, you can simply
reuse our target definition, like Michael does for Jayes. Have a look at
<https://github.com/kutschkem/Jayes/blob/master/plugins/org.eclipse.recommenders.jayes/pom.xml>,
for example. All Michael needed to do was override one configuration
(that of the maven-license-plugin); all other configuration is inherited
from the referenced parent project (org.eclipse.recommenders.plugin.parent).

That being said, if you are new to Maven this may still seem quite
confusing. If that is the case , simply place your plugins,
test-plugins, and features below the "plugins", "tests" and "features"
folders (as we do ourselves
<https://git.eclipse.org/c/recommenders/org.eclipse.recommenders.git/tree/>)
along with all necessary MANIFEST.MFs and build.properties. I will then
add the required pom.xml files, so that Maven can work with your build.
How does that sound?

Best wishes,

Andreas
-- 
Codetrails.com - the knowledge transfer company


Back to the top