On Monday 18 June 2018 16:07:16 Eugen Stan wrote:
> Hello,

Hi,

> I belive we can safely drom sling-karaf-configs because it does not
> bring any real value. My solution is to drop the project and inline the
> confgurations inside the features.
> 
> I've been working on this and publishing an internal release (publicly
> available [1]) of the artifacts so we can deploy them internally .
> 
> I've been fixing the issues one by one with Karaf features and I came to
> the conclusion that having a separate configs project and also separate
> configs creates more work without any real benefits.
> 
> A karaf feature is declared as follows:
> 
>   <feature name="sling-caconfig" version="${project.version}">
>     <config external="true"
> name="org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_caconfig">mv
> n:org.apache.sling/org.apache.sling.karaf-configs/${sling-karaf-configs.vers
> ion}/config/org.apache.sling.jcr.repoinit.RepositoryInitializer-sling_caconf
> ig</config> 
> <bundle>mvn:org.apache.sling/org.apache.sling.caconfig.api/1.1.0</bundle>
>     <!-- dependencies REDACTED for brevity -->
>   </feature>
> 
> Now if you analyze the feature you will notice that the config is
> defined as external and has a link to a *versioned* maven artifact.
> 
> Looking at the following potential use cases you can see what I mean:
> 
> 1. Configuration needs to be updated to match new bundle artifact:
> 
> - I need to update the sling-karaf-configs project and make a release
> 
> - I need to update the sling-karaf-features to use the new version of
> the configs and make a release
> 
> - Optional - release sling-karaf-distribution
> 
> 2. I need make an internal release with custom configurations
> 
> - I need to release and publish my custom configuration to an internal repo
> 
> - I need to copy-paste the features.xml file and update the configs to
> my custom configurations
> 
> 
> So no matter what I do, I cannot avoid releasing both artifacts. To me
> that means that we can safely inline the configs inside as there is no
> real reason why they should live outside. I believe that the only reason
> why you would wish to put them outside is if you used un-versioned
> config files. Without the version you could get only the LATEST and that
> can make sense in some situations.
> 
> Am I missing something here?

yes, see SLING-6043.

Additional benefit is the reusability of configurations.

Regards,
O.

> Eugen,
> 
> 
> p.s. Considering that my reasoning is flawed, right now
> sling-karaf-features uses "project.version" for configs - that means it
> expects sling-karaf-configs to have same version as sling-karaf-features.

Will be changed once configs are released.

> 
> [1] https://bintray.com/netdava/maven/sling-karaf

Reply via email to