Hi all,

Andrew, congratulations on your selection for GSoC and welcome to Debian
and the pkg-java group.

Some parts of the project are Java-specific (e.g. the Maven plugin)
while other parts of the project are not specific to Java (e.g.
stripping non-free binary artifacts from source tarballs to make what we
call a "repackaged upstream source").  For those types of things that
are not Java specific, you are more than welcome to discuss on the
debian-devel mailing list as you will find other people are interested
in the same problem.

High-level strategy for this project (and all the GSoC projects) - I
find the most successful approach is to break the project into discrete
modules that are useful on their own and that can be completed in 1-3
weeks each.  If a student's plan includes 6 modules and he completes 3
successfully and they are useful and I feel the student made a good
effort then I can let that student pass.  If a plan involves one
mega-module and it is not finished by the deadline (11 August) and I
can't see if the code is useful for anybody it may be harder for me to
pass that student.

What I'd like to see next is to create a separate wiki page about each
potential module and link to them from the main wiki plan.  For example,
create a wiki page for each of these ideas:

a) a module for reconstructing a buildable source tree from -source.jar
files.  It should:
- find all versions of all source JARs and all related POM files in
public mvn distribution sites
- create a Git repository and put each version of the sources in the
repo and commit them on top of each other (e.g. if it finds source JARs
for all of versions 1.0, 1.1 and 1.2 then it should commit them all)
- create any missing pom.xml files and commit these on a different branch
- try to run mvn

b) a module for cloning some public Git repository and creating a "free"
branch where all the non-free artifacts are deleted - this module should
also create some machine-readable log file about what it removed from
each tag (another module will read those logs)
- how does it interact with uscan? see recent discussions on debian-devel

c) a Maven plugin that does the stuff discussed below (see my comments
inline)

d) other modules....

In our private email discussions you have demonstrated a good understand
of the potential issues involved (e.g. comparing the binary JAR class
lists against the published source JARs) so please include that type of
detail in the wiki page for (a)

The wikis will also be useful for other people to understand and
contribute to this work

On 25/04/14 19:05, Andrew Schurman wrote:
> Greeting fellow Java hackers,
> 
> It's that time of year again when students ease up on their studies and
> help contribute to the open source community through the Google Summer
> of Code. I've been selected this year to build project which could be
> used to help build a java projects dependencies (and their
> dependencies). The plan is to build a maven plugin to both determine the
> dependencies and try to build them up taking into account different

Just one comment on the scope of the maven plugin: the plugin will not
be building the dependencies synchronously itself.

Rather, if dependencies are not available the plugin will

a) put the list of missing dependencies into some queue or table

b) fail the build, with a status code that indicates it failed because
of dependencies (to help us distinguish this from other types of build
failure)

We would then have some high level system that reads from the
queue/table and creates Jenkins configs for each new dependency.

> build systems/source control/etc [1]. Doing so can both confirm that a
> project is truly open source and reaffirm that it is still possible to
> recreate a useful binary (from scratch) which could have been created
> years ago. One additional use case that may be useful for open source
> projects is the ability to test a source release, if it included
> multiple projects not built with a single command.
> 
> If your project has some arcane build ritual, I encourage you to let me
> know so I can take them into consideration.

You maybe be able to get a list of all pkg-java projects here:

http://qa.debian.org/developer.php?login=pkg-java-maintain...@lists.alioth.debian.org

and try to scan them for clues about the problems we encounter with
existing packages, the things that are removed in the dfsg tarballs, etc.

Regards,

Daniel


-- 
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/535cd559.5000...@pocock.com.au

Reply via email to