You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jason van Zyl (JIRA)" <ji...@codehaus.org> on 2007/11/04 08:31:11 UTC

[jira] Closed: (ARCHETYPE-30) Take discussion with Milos and break down into issues

     [ http://jira.codehaus.org/browse/ARCHETYPE-30?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason van Zyl closed ARCHETYPE-30.
----------------------------------

    Resolution: Won't Fix

Addressed in ArchetypeNG.

> Take discussion with Milos and break down into issues
> -----------------------------------------------------
>
>                 Key: ARCHETYPE-30
>                 URL: http://jira.codehaus.org/browse/ARCHETYPE-30
>             Project: Maven Archetype
>          Issue Type: Task
>            Reporter: Jason van Zyl
>            Assignee: Jason van Zyl
>
> [09:15am] mkleint: hey, so i'm here, have like half an hour time..
> [09:17am] jason: sure
> [09:17am] jason: we might as well chat then
> [09:19am] jason: we can either chat here and i can log it
> [09:19am] jason: or we can chat over skype
> [09:19am] jason: whatever is easier for you
> [09:22am] mkleint: skype is fine but once I get home..
> [09:22am] mkleint: I need to leave work in 40 minutes to catch the train home..
> [09:22am] jason: irc is fine too
> [09:22am] jason: i don't mind chatting either
> [09:23am] jason: really, whatever suits you
> [09:23am] mkleint: hmm.. irc now maybe better.. in the evening I might not have enough time..
> [09:24am] jason: ok, that's cool
> [09:24am] jason: so maybe quickly go over your archetype requirements or what you would like
> [09:24am] jason: if it's ok, i'll log this to make notes with later
> [09:25am] mkleint: sure, fine with me..
> [09:25am] mkleint: the basic requirement is to know up front what are the available archetypes and what the user is to fill in..
> [09:25am] mkleint: so that some UI can be constructed..
> [09:26am] mkleint: in the ideal world, I would like to be able to create the new project even if offine (so maybe shipping part/all of the arhetype stuff as a netbeans module..
> [09:26am] mkleint: but that's not a hard requirement..
> [09:27am] jason: ok, so let me pull up JIRA here
> [09:28am] jason: once we have the repository manager working, i can scan the repo for all the archetypes and make a list
> [09:28am] jason: so much like we scan all the artifacts and make drop downs in the eclipse UI for JARs we can do the same for archetypes
> [09:28am] jason: so i should be able to provide a list of available archetypes from a given repository
> [09:29am] jason: what i need is a way to aggregate them all when people don't sync to the central repo
> [09:29am] mkleint: possibly.. sounds cool..
> [09:29am] jason: for example is struts stores their own archetypes at apache for example
> [09:29am] mkleint: if you are capable of doing for one repo, it's fine with me I guess.
> [09:30am] mkleint: what can be done of the UI side is to ship teh list of repos with archtypes as netbeans modules/eclipse plugins..
> [09:30am] mkleint: so not everything needs to be 100 dynamic..
> [09:31am] mkleint: actually I guess we shoudl separate some basic ones and ive them special treatment..
> [09:31am] mkleint: when you start with maven you don';t want a lost of 50 archetypes you don't know/need
> [09:31am] jason: you could ship a repo with netbeans
> [09:31am] jason: pre-populated with any artifacts you might want
> [09:31am] mkleint: I already do..
> [09:32am] mkleint: I ship 2 maven plugin that connect the debugger and do deployment..
> [09:32am] jason: so you could pull any archetypes you wanted and limit the search to that repo for archetypes
> [09:32am] mkleint: yup.. that was my idea..
> [09:32am] jason: so that could be configurable, you can default to your repo and you could allow the users to look in other repos for more archetypes
> [09:32am] mkleint: for the starters at least..
> [09:33am] mkleint: yeah..
> [09:33am] jason: as far as the UI above, the archetype descriptor needs to be rewritten
> [09:33am] jason: so that might be another discussion after i take a pass at it
> [09:33am] jason: because it needs to be aligned with the plugin metadata
> [09:33am] mkleint: huh?
> [09:33am] mkleint: don't follow
> [09:33am] jason: sorry, descriptions of the possible values
> [09:34am] jason: what types are allowed, some validators
> [09:34am] jason: so people could walk through a wizard to configure a plugin
> [09:34am] mkleint: yeah..
> [09:34am] jason: or walk through a wizard to configure an archetype
> [09:34am] jason: i just want to reuse as much code there as possible and make the plugin descriptor close to the archetype descriptor where configurable values are concerned
> [09:35am] mkleint: fine with me..
> [09:35am] jason: so a list of available archetypes and the UI aspect of configuring the archetype
> [09:35am] jason: were there any other big issues?
> [09:35am] mkleint: hmm.. lemme think..
> [09:36am] jason: it looks like i'm going to be speaking at SD Expo so I will definitely work on the IDE stuff because I would like to demo them
> [09:36am] mkleint: the distinction between the project archetype and file archetype as I call them..
> [09:37am] jason: so a project versus a site?
> [09:37am] mkleint: with the file archetype, it would be nice to know up front what file will be created. and report that to the user..
> [09:37am] jason: i'm not sure what you consider a file archetype
> [09:37am] mkleint: site is basically an instance of a archetype that doens't create a project.. are there more or it's just this one?
> [09:38am] jason: there will be more
> [09:38am] jason: i call them partial archetypes for lack of a better word
> [09:38am] jason: but you might have a j2ee archetype
> [09:39am] jason: and partial archetypes to create new web modules or connectors or whatever
> [09:39am] jason: actually that would be a third type really
> [09:39am] jason: the site is the only partial archetype right now
> [09:39am] mkleint: these are somewhat unpredictable in behaviour.. when you create a new project, if you don;'t like what you get, you just delete the whole dir.. with partials, you get new stuff all around your existing project..
> [09:40am] jason: but we are thinking we might have partial archetypes for adding tests to maven
> [09:40am] jason: to make it easier for people to create test cases for us
> [09:40am] jason: maybe that would be something to put in the descriptor like you said, so that the user knows where it can drop
> [09:40am] mkleint: adding test classes? isn't that part of any current IDE's ui?
> [09:41am] jason: these would be customized for maven test cases
> [09:41am] jason: but something that any project could do
> [09:41am] mkleint: yeah, for partials it seems to me that it's more important to let the user know what will happen..
> [09:41am] jason: we have the expertise about what should be setup, so would like to encapsulate that in an archetype and hook into the IDEs
> [09:42am] jason: so if i gave you enough information could you just undo the archetype generation?
> [09:42am] jason: user goes "oh, don't like that" and just undo
> [09:43am] mkleint: hmm... maybe.. or at least give the useer an idea what was added and how to undo it..
> [09:43am] mkleint: an automatic undo across multiple files is tricky..
> [09:43am] jason: ok, i'll leave that to you
> [09:44am] mkleint: I was more thinking around the idea of having a query that quould return the list of files to be created/updated.. like a pre-run, but without actually writing..
> [09:44am] jason: i think that can be done
> [09:45am] jason: so you just want to know up front what will be made so you can show that to the user?
> [09:45am] jason: so you would need a complete manifest of the contents of the archetype
> [09:45am] mkleint: yeah.. description would also be fine, but people don't really write descriptions.. the list of files to be created can be automatically created and is also descriptive..
> [09:46am] jason: ok, i will put these all in JIRA to keep track
> [09:46am] jason: and create a couple of versions to release over the next few weeks
> [09:46am] jason: just fixed the embedder too so that it aligns properly with a user install
> [09:46am] mkleint: cool.. gotta run to catch the train.. talk to you later.
> [09:47am] mkleint: embedder?
> [09:47am] jason: ok, i'll make some notes and get back to you
> [09:47am] jason: yes, for the embedder
> [09:47am] jason: i will talk to you later!
> [09:47am] mkleint: ok.. see ya..

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira