Almost.  Slight snag... we have the two bytecode impls in core.  Are you
happy with isis-core-bytecode-cglib and isis-core-bytecode-javassist?



On 12 December 2012 00:37, Robert Matthews <rmatth...@nakedobjects.org>wrote:

> Absolutely.
>
> I think that should do for tonight.
>
> Rob
>
>
>
> On 12/12/12 00:33, Dan Haywood wrote:
>
>> very happy to go with that suggestion.  And ditto for the profilestore and
>> security, presumably.
>>
>>
>>
>> On 12 December 2012 00:30, Robert Matthews <rmatth...@nakedobjects.org>**
>> wrote:
>>
>>  I was thinking about that too and thought that they are object stores etc
>>> so that is fine (ie isis-objectstore-inmemory).  But what about:
>>>
>>>      isis-inmemory-objectstore -> isis-core-objectstore
>>>
>>> and so on as they are all basic/simple implementations.
>>>
>>> Rob
>>>
>>>
>>>
>>> On 12/12/12 00:23, Dan Haywood wrote:
>>>
>>>  On 12 December 2012 00:16, Robert Matthews <rmatth...@nakedobjects.org
>>>> >**
>>>>
>>>> wrote:
>>>>
>>>>   Do we want to achieve the same thing with the core modules? eg:
>>>>
>>>>>       isis-metamodel -> isis-core-metamodel
>>>>>       isis-runtime -> isis-core-runtime
>>>>>
>>>>>
>>>>>   Yeah, I had the same thought.  Happy to do that.
>>>>>
>>>> Per previous mails, core DOES after all need to include the inmemory
>>>> objectstore, the inmemory profilestore and noop security, BECAUSE these
>>>> are
>>>> all referenced by the integtestsupport module.
>>>>
>>>> I don't have a problem with this.
>>>>
>>>> The question that arises is, what name to give these artifacts?
>>>>
>>>> isis-inmemory-objectstore   ->  isis-objectstore-inmemory   (meaning it
>>>> will group with the non-core objectstore components)
>>>> OR
>>>> isis-inmemory-objectstore   ->  isis-core-objectstore-inmemory
>>>> (meaning
>>>> it will group with other core components).
>>>>
>>>> I think I prefer the latter.  But I could be persuaded either way.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>   Rob
>>>>
>>>>>
>>>>>
>>>>> On 12/11/12 23:55, Dan Haywood wrote:
>>>>>
>>>>>   On 11 December 2012 23:49, Robert Matthews <
>>>>> rmatth...@nakedobjects.org
>>>>>
>>>>>> **
>>>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>    Just tom confirm, I did try it and it is messy, that's why I would
>>>>>> like
>>>>>>
>>>>>>  to
>>>>>>> make the project names shorter (not show the group id, just the
>>>>>>> artifact
>>>>>>> id) and have them ordered nicely from a developers perspective - go
>>>>>>> for
>>>>>>> the
>>>>>>> RPN.
>>>>>>>
>>>>>>>
>>>>>>>    ok, good... perhaps I had misunderstood what you were saying
>>>>>>> earlier,
>>>>>>>
>>>>>>>  but
>>>>>> at any rate sounds like we're in agreement the same page now.
>>>>>>
>>>>>> So... for example, I'll rename:
>>>>>> * isis-jdo-objectstore  ->  isis-objectstore-jdo.
>>>>>> * isis-sql-objectstore -> isis-objectstore-sql.
>>>>>>
>>>>>> Dan
>>>>>>
>>>>>>
>>>>>>
>>>>>>    Rob
>>>>>>
>>>>>>
>>>>>>> On 12/11/12 23:36, Dan Haywood wrote:
>>>>>>>
>>>>>>>    On 11 December 2012 23:26, Robert Matthews <
>>>>>>> rmatth...@nakedobjects.org
>>>>>>>
>>>>>>>  **
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>     Dan
>>>>>>>>
>>>>>>>>   1. A quick look at Eclipse and I'm struggling to see any seemingly
>>>>>>>>
>>>>>>>>> random
>>>>>>>>> placing. All my components are together and so on. What I do have
>>>>>>>>> though
>>>>>>>>> is
>>>>>>>>> very long names as the group ids are also showing. This is set up
>>>>>>>>> in
>>>>>>>>> the
>>>>>>>>> Eclipse plug-in settings. That said I'd rather have shorter project
>>>>>>>>> names,
>>>>>>>>> and after making the change to shorter name everything is all over
>>>>>>>>> the
>>>>>>>>> place.  I'm happy with the proposed naming convention as I prefer
>>>>>>>>> the
>>>>>>>>> benefit of the ordering. That said, the core modules will still
>>>>>>>>> appear
>>>>>>>>> randomly.
>>>>>>>>>
>>>>>>>>>     Yeah, if you import with the advanced > template of
>>>>>>>>>
>>>>>>>>>   [groupId]:[artifactId],
>>>>>>>>>
>>>>>>>> then everything is indeed ordered logically.
>>>>>>>>
>>>>>>>> However, when Jeroen and I tried this on Monday, we decided not to
>>>>>>>> use
>>>>>>>> this
>>>>>>>> template, and just went with the default template, which is just the
>>>>>>>> artifactId.
>>>>>>>>
>>>>>>>> Try it... you'll see it's quite a mess.
>>>>>>>>
>>>>>>>> I was just playing around with Idea 12, and (I think) it also does
>>>>>>>> the
>>>>>>>> equivalent, of naming its projects based on the artifact.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>     2 & 3. My previous expectations were that the core would be
>>>>>>>> released
>>>>>>>> at a
>>>>>>>>
>>>>>>>>   particular point and the components would then be released
>>>>>>>>
>>>>>>>>> independently
>>>>>>>>> to
>>>>>>>>> work against the core, and would probably be re-released again
>>>>>>>>> against
>>>>>>>>> the
>>>>>>>>> same core as they get improved. So the components would evolve more
>>>>>>>>> quickly
>>>>>>>>> than the core and the core would be improved in the background.
>>>>>>>>> (Although
>>>>>>>>> isolated fixes to the core would be made without causing the
>>>>>>>>> components
>>>>>>>>> any
>>>>>>>>> concern.)
>>>>>>>>>
>>>>>>>>> Yes, no change... that's my expectation as well.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>      WRT the parenting, are we expecting the core modules to stay
>>>>>>>>> in
>>>>>>>>>
>>>>>>>> step -
>>>>>>>>
>>>>>>>>   all
>>>>>>>>
>>>>>>>>> released each time - or will specific modules be release as they
>>>>>>>>> needed?
>>>>>>>>>
>>>>>>>>>    All the core modules would be released together, yes.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>     An alternative strategy to the two options you suggested would
>>>>>>>> be
>>>>>>>> for
>>>>>>>> the
>>>>>>>>
>>>>>>>>   parent pom to be released as part of the core, that way it would
>>>>>>>>
>>>>>>>>> always
>>>>>>>>> be
>>>>>>>>> ready for the components. Generally, though, I'm still trying to
>>>>>>>>> get
>>>>>>>>> my
>>>>>>>>> head around how this could/would/should work.  Maybe a skype call,
>>>>>>>>> were
>>>>>>>>> share our thoughts, might be worth while at this stage.
>>>>>>>>>
>>>>>>>>>     I think this is basically the same as having everything
>>>>>>>>> parented
>>>>>>>>> by
>>>>>>>>>
>>>>>>>>>   core's
>>>>>>>>>
>>>>>>>> pom.  Indeed, the more I think about it, the more I am happy to go
>>>>>>>> this
>>>>>>>> way.  I'm trying it out in a branch locally to see how it flies (ie
>>>>>>>> testing
>>>>>>>> to see if I release core and then if I can release one of the
>>>>>>>> components).
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>     3. Such numbering makes a lot of sense. And as you say a large
>>>>>>>> number
>>>>>>>> is
>>>>>>>>
>>>>>>>>   just a large number.
>>>>>>>>
>>>>>>>>>     Ok, that's three of us in agreement.  It might be worthwhile
>>>>>>>>> doing a
>>>>>>>>>
>>>>>>>>>   formal
>>>>>>>>>
>>>>>>>> vote on this one; perhaps in a day or two.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>     Regards
>>>>>>>>
>>>>>>>>   Rob
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 12/10/12 20:17, Dan Haywood wrote:
>>>>>>>>>
>>>>>>>>>     All,
>>>>>>>>>
>>>>>>>>>   Following on from the previous discussion thread relating to
>>>>>>>>>
>>>>>>>>>> renaming
>>>>>>>>>> of
>>>>>>>>>> artifacts etc, I've been doing some further work on the release
>>>>>>>>>> process,
>>>>>>>>>> up
>>>>>>>>>> to and including have now pushed our isis-core up to the Nexus
>>>>>>>>>> staging
>>>>>>>>>> repo.  Won't be calling a vote, just wanted to see if it all
>>>>>>>>>> worked
>>>>>>>>>> using
>>>>>>>>>> git (which it does, after a few modifications).
>>>>>>>>>>
>>>>>>>>>> Anyway, we have a few alternatives in some of the detail; if you
>>>>>>>>>> have
>>>>>>>>>> an
>>>>>>>>>> opinion on any of this, please respond...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 1. artifactId names: eg isis-jdo-objectstore vs
>>>>>>>>>> isis-objectstore-jdo
>>>>>>>>>>
>>>>>>>>>> This point came up in the previous thread, and at the time I was
>>>>>>>>>> ambivalent
>>>>>>>>>> as to which way we went on it.  Now, though, I think we should use
>>>>>>>>>> the
>>>>>>>>>> "reverse polish notation", ie "isis-objectstore-jdo".
>>>>>>>>>>
>>>>>>>>>> The reason is mostly this: if a developer imports the entire
>>>>>>>>>> project
>>>>>>>>>> from
>>>>>>>>>> the root aggregator pom (oai:isis-all) into Eclipse, then the
>>>>>>>>>> project
>>>>>>>>>> name
>>>>>>>>>> will (by default at least) be based on the artifactId.  This means
>>>>>>>>>> that
>>>>>>>>>> artifacts appear pretty randomly in the Eclipse workspace.
>>>>>>>>>>
>>>>>>>>>> Of course, the same argument applies if listing a directory, eg ls
>>>>>>>>>> WEB-INF/lib.
>>>>>>>>>>
>>>>>>>>>> Opinions?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2. Should our releasable modules (core and each of the 20-ish
>>>>>>>>>> components)
>>>>>>>>>> have a separate org.apache.isis:isis-parent as their parent (which
>>>>>>>>>> defines
>>>>>>>>>> the maven-release-plugin configuration etc), or should they all
>>>>>>>>>> use
>>>>>>>>>> org.apache.isis.core:isis as their parent.
>>>>>>>>>>
>>>>>>>>>> The benefit of the former (and the code is mostly organized this
>>>>>>>>>> way)
>>>>>>>>>> is
>>>>>>>>>> that, well, it seems to follow what many other maven projects do.
>>>>>>>>>>   But
>>>>>>>>>> the
>>>>>>>>>> downside is that we would need to release this isis-parent
>>>>>>>>>> artifact
>>>>>>>>>> first,
>>>>>>>>>> and we might tend to forget about it and not update it.
>>>>>>>>>>
>>>>>>>>>> The benefit of the latter is we will always re-release it whenever
>>>>>>>>>> there
>>>>>>>>>> is
>>>>>>>>>> a new release of core, and - as a bonus - all the child modules
>>>>>>>>>> will
>>>>>>>>>> inherit version definitions by way of <dependencyManagement>.
>>>>>>>>>>
>>>>>>>>>> Put another way: do we think that the lifecycle of our release
>>>>>>>>>> process
>>>>>>>>>> itself  be decoupled from the lifecycle of releases of Isis core?
>>>>>>>>>>   If
>>>>>>>>>> yes,
>>>>>>>>>> we should have a separate org.apache.isis:isis-parent.  If no, we
>>>>>>>>>> should
>>>>>>>>>> just use org.apache.isis.core:isis as the parent of all releasable
>>>>>>>>>> modules.
>>>>>>>>>>
>>>>>>>>>> Opinions?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 3. What should our version numbers be?
>>>>>>>>>>
>>>>>>>>>> This is quite a big one, possibly worth its own thread, but I was
>>>>>>>>>> wondering
>>>>>>>>>> if we should adopt semantic versioning [1].  Thus, this first
>>>>>>>>>> release
>>>>>>>>>> will
>>>>>>>>>> be v1.0.0 of the core; any bug fixes would be 1.0.1, 1.0.2, any
>>>>>>>>>> backwardly
>>>>>>>>>> compatible enhancements (to the APIs) would be 1.1.0, 1.2.0, any
>>>>>>>>>> breaking
>>>>>>>>>> changes to the APIs would be 2.0.0, 3.0.0, etc.
>>>>>>>>>>
>>>>>>>>>> There's an argument that things aren't quite stable enough in core
>>>>>>>>>> to
>>>>>>>>>> do
>>>>>>>>>> this; the counter argument is that they are just numbers; if we
>>>>>>>>>> end
>>>>>>>>>> up
>>>>>>>>>> with
>>>>>>>>>> isis-core v 12.0.0 in two years time because of a succession of
>>>>>>>>>> breaking
>>>>>>>>>> API changes, so what?
>>>>>>>>>>
>>>>>>>>>> Opinions?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Thanks
>>>>>>>>>> Dan
>>>>>>>>>>
>>>>>>>>>> PS: fyi, I'm hoping to be in a position to put a release out of
>>>>>>>>>> isis
>>>>>>>>>> core
>>>>>>>>>> for voting by the end of this week or beginning of next, latest.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> [1] http://semver.org.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>

Reply via email to