-
Notifications
You must be signed in to change notification settings - Fork 324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
jdeb 2.0 #195
Comments
Would it be posible to create multiple deb packages? i.e. the same application configured for multiple clients?, i was wondering if it is possible to do that with the current version and I have not found enough info about it, I tried adding multiple packages in the control file but it only generates one pkg at the end |
For this level of customization I would recommend using the Ant task combined with the maven-antrun-plugin. |
This issue is basically the wish list for jdeb2 - but I yet have to understand the need for multiple packages better. That said this is probably more a maven question as maven only really creates one artifact. As @ebourg already suggested - for example ant can call jdeb multiple times. |
I'm motivated to have the timestamp in convertToDebianVersion be in UTC. Not sure this is a big enough thing by itself to wait for 2.0, though it is an interface change in one way of looking at it. Also curious if there's a reason to move to java 8, or maybe better...a reason to stick with 6. |
@dbyron0 plenty of good reasons to move beyond java 6 (one is access to file permissions) |
+1 for Java 7 |
For |
Hmmm, how can I help clarify the consequences? I'm hoping we can end up using the same format (yyyyMMddHHmmss), so the only consequence to the user would be the switch to UTC. Not quite sure the best way to implement it in java 6 though off the top of my head. A java 8 way (or I suppose a joda time way with java 6) might involve changing the timestamp argument from a Date to an Instant. |
@dbyron0 The implementation should not be the problem - but those are not the consequences. This is about consequences of people upgrading. They would appear to experience a time-shift and question is whether that can be a problem for them or not. But this is getting too detailed in the wrong issue. Please open a new issue for that. |
created #238 |
The great enhancement will be to have the An alternative approach to the rules implementation that i suggested in #275 is to implement a permission set:
More limited but very handy as it make the configuration shorter and more simple to implement IMO. That was my 2 cents. |
I'm looking at this from a different perspective. I would like to see the api a little easier to use. I've been using RedlineRPM (https://github.com/craigwblake/redline) to build RPM files and the api is very easy to use. It would be nice if you had a builder api similar for people who want to integrate it into projects. Just a thought for 2.0. |
@brianhks I very much agree on the easier API part. Thanks! I honestly start to believe the building of a virtual directory tree would even make sense as its own library. That said: |
Would be great to split the source into 3 distinct modules if possible:
As it currently stands both Maven and Ant are explicit dependencies. |
Totally agree @aalmiray |
I could figure out a way to make the split. My concern would be that each module will have a unique Would it make sense to push for a module split in |
TBH I would not split the current code base as such. I would start with a 2.0 that is split. And then I would port functionalities over. Is it just the dependency that bothers you? |
I see. As long as the "core" is independent from Maven and Ant APIs I can simply consume it by excluding both Maven and Ant. That's OK. Marking them as |
@tcurdt FWIW Ant is still a required dependency due to some utility classes. In my case I need no filtering 😞
|
That is a little unfortunate. But as a quick fix this could easily be solved by shading. |
Technically yes, but it would mean still carrying the whole of Ant for just a few classes. Have to think more about this. |
Nope. This is the important bit: https://github.com/tcurdt/jdeb/blob/master/pom.xml#L323 This way only used classes get included in the shade. |
I still think this would be nice. But I don't have the time or need to put effort into this. There is no one sponsoring this. |
Generate the package meta data
This should be based on build system inputs. This could look like this for `maven':
and for
ant
:Of course we could us attributes for
ant
instead. While that makes things moreant
like it does not make things much easier to read IMO. Maybe we could allow both - not sure how I feel about supporting both though. MIght be more confusing than it helps.Inline data configurations
We could use explicit nesting to define the virtual file system properties inside a debian archive tree. We would then map it to the sources. Here attributes would cut down the verboseness immensely. Unfortunately
maven
still doesn't support this. Which could be a point for a custom descriptor. For now the proposal looks like this:In
ant
we could use filesets to provide the besrc
ofdir
elements. To make the the mapping less verbose we could use pattern matching to define default values to specify owner, permissions and so on - or fall back to the defaults or the permissions (since java7) on disk. I assume this would break cross platform buildability though. (Could a windows user confirm?)Question is whether we need this to be a little more dynamic and allow for generating sub trees base on some kind "generator".
But is that really needed? One could also just prepare the dir on disk like before and then just map the dir and apply patterns for permissions. For now I would omit this.
Based on the old gist https://gist.github.com/tcurdt/9275523
The text was updated successfully, but these errors were encountered: