Hi all,

I am trying to compile the ontologymanager submodule of the stanbol
source from trunk and there are some issues with circular dependencies
between modules. Trying to compile ontologymanager shows that there
are commons modules that are missing, which is to be expected.
However, trying to compile commons, without compiling any other
modules or using the complete reactor, shows that commons is not
self-contained. It relies on enhancer-servicesapi among others.

[ERROR] Failed to execute goal on project
org.apache.stanbol.commons.web.base: Could not resolve dependencies
for project 
org.apache.stanbol:org.apache.stanbol.commons.web.base:bundle:0.9.0-incubating-SNAPSHOT:
Could not find artifact
org.apache.stanbol:org.apache.stanbol.enhancer.servicesapi:jar:0.9.0-incubating-SNAPSHOT
in apache.snapshots (http://repository.apache.org/snapshots) -> [Help
1]

However, trying to compile enhancer requires commons to be compiled
previously to have access to commons-indexedgraph, which didn't seem
to have been compiled before commons-webbase which failed.

[ERROR] Failed to execute goal on project
org.apache.stanbol.enhancer.servicesapi: Could not resolve
dependencies for project
org.apache.stanbol:org.apache.stanbol.enhancer.servicesapi:bundle:0.9.0-incubating-SNAPSHOT:
Failure to find
org.apache.stanbol:org.apache.stanbol.commons.indexedgraph:jar:0.9.0-incubating-SNAPSHOT
in http://repository.apache.org/snapshots was cached in the local
repository, resolution will not be reattempted until the update
interval of apache.snapshots has elapsed or updates are forced ->
[Help 1]

Is it possible to rearrange the packages throughout stanbol so that
commons does not have any dependencies on any non-commons modules so
that commons can be compiled from scratch?

The module order in the parent pom makes it naively look like commons
could be self-sufficient:

  <modules>
    <module>parent</module>
    <module>commons</module>
    <module>data</module>
    <module>frameworkfragment</module>

    <module>enhancer/parent</module>
    <module>enhancer/generic/servicesapi</module>
    <module>enhancer/generic/chainmanager</module>
    <module>enhancer/generic/enginemanager</module>
    <module>enhancer/jobmanager</module>
    <module>enhancer/chain/allactive</module>
    <module>enhancer/chain/graph</module>
    <module>enhancer/chain/weighted</module>
    <module>enhancer/chain/list</module>
    <module>enhancer/jersey</module>
    <module>enhancer/ldpath</module>
    <module>enhancer/benchmark</module>
    <module>enhancer/defaults</module>
    <module>enhancer/bundlelist</module>

    <module>cmsadapter</module>
    <module>contenthub</module>
    <module>entityhub</module>
    <module>factstore</module>

<module>ontologymanager</module>
    <module>rules</module>
    <module>reasoners</module>
  </modules>

However, the reactor build order that is automatically generated by
maven shows that this isn't the only case where commons has
dependencies on other packages, as the commons reactor doesn't appear
in the list until after the enhancer parent pom, data parent pom,
entityhub parent pom, and contenthub parent pom which seems to
indicate that modules in each of those meta-modules are dependencies
of the commons meta-module.

[INFO] Reactor Build Order:
[INFO]
[INFO] Apache Stanbol Parent POM
[INFO] Apache Stanbol JSON-LD API
[INFO] Apache Stanbol Commons Jobs API
[INFO] Apache Stanbol Commons Indexed Clerezza inMemory graph implementation
[INFO] Apache Stanbol Enhancer Parent POM
[INFO] Apache Stanbol Enhancer Services API
[INFO] Apache Stanbol Commons Web Base
[INFO] Apache Stanbol Commons Jobs Web
[INFO] Apache Stanbol Commons Jobs Reactor
[INFO] Apache Stanbol Data File Provider
[INFO] Apache Stanbol Data parent POM
[INFO] Apache Stanbol Data: OpenNLP Models for English
[INFO] Apache Stanbol Commons: Open NLP and Models
[INFO] Apache Stanbol Commons Web Home Page
[INFO] Apache Stanbol Entityhub parent POM
[INFO] Apache Stanbol Entityhub Services API
[INFO] Apache Stanbol Contenthub parent POM
[INFO] Apache Stanbol Contenthub API Bundle
[INFO] Apache Stanbol Commons Web SPARQL
[INFO] Apache Stanbol Jar Executor
[INFO] Apache Stanbol Jar Http Testing Library
[INFO] Apache Stanbol Testing Utilities
[INFO] Apache Stanbol Offline Utilities
[INFO] Apache Stanbol Data File Provider for Bundles
[INFO] Apache Stanbol Bundle Provider
[INFO] Apache Stanbol Commons Solr Core
[INFO] Apache Stanbol Commons Solr Web
[INFO] Apache Stanbol Commons Solr Managed
[INFO] Apache Stanbol Commons Solr Installer
[INFO] Apache Stanbol Commons Solr Defauts
[INFO] Apache Stanbol OWL libraries
[INFO] Apache Stanbol Commons Clerezza LDPath Repository
[INFO] Apache Stanbol Http Query Headers
[INFO] Apache Stanbol Commons Reactor
[INFO] Apache Stanbol Default Configuration
[INFO] Apache Stanbol Data: DBpedia.org
[INFO] Apache Stanbol Data: OpenNLP NER Models for English
[INFO] Apache Stanbol Data: Default ontology registries
[INFO] Apache Stanbol Data: Default Data Bundle List
[INFO] Apache Stanbol Data: Remote DBpedia.org with local cache
[INFO] Apache Stanbol Data: OpenNLP Models for Danish
[INFO] Apache Stanbol Data: OpenNLP Models for German
[INFO] Apache Stanbol Data: OpenNLP Models for Dutch
[INFO] Apache Stanbol Data: OpenNLP Models for Portuguese
[INFO] Apache Stanbol Data: OpenNLP Models for Swedish
[INFO] Apache Stanbol Data: OpenNLP NER Models for Spanish
[INFO] Apache Stanbol Data: OpenNLP NER Models for Dutch
[INFO] Apache Stanbol Data: Bundle List for OpenNLP
[INFO] Apache Stanbol Data reactor
[INFO] Apache Stanbol Default Framework Fragment Bundle
[INFO] Apache Stanbol Enhancer Chain Manager
[INFO] Apache Stanbol Enhancer Engine Manager
[INFO] Apache Stanbol Enhancer Weighted Job Manager
[INFO] Apache Stanbol Enhancer Event Jobmanager
[INFO] Apache Stanbol Enhancer JobManager Reactor
[INFO] Apache Stanbol Enhancer Chain: DefaultChain
[INFO] Apache Stanbol Enhancer Chain: GraphChain
[INFO] Apache Stanbol Enhancer Chain: Weighted
[INFO] Apache Stanbol Enhancer Chain: List
[INFO] Apache Stanbol Enhancer Jersey JAX-RS API and front-end
[INFO] Apache Stanbol Enhancer ldpath
[INFO] Apache Stanbol Enhancer Benchmark
[INFO] Apache Stanbol Enhancer default configuration
[INFO] Apache Stanbol Enhancer Bundle List
[INFO] Apache Stanbol CMS Adapter parent POM
[INFO] Apache Stanbol CMS adapter API bundle
[INFO] Apache Stanbol CMS Adapter Core Bundle
[INFO] Apache Stanbol CMS Adapter JCR Bundle
[INFO] Apache Stanbol CMS Adapter CMIS Bundle
[INFO] Apache Stanbol CMS Adapter Web Bundle
[INFO] Apache Stanbol CMS Adapter Bundle List
[INFO] Apache Stanbol CMS Adapter Reactor
[INFO] Apache Stanbol Contenthub Solr Store
[INFO] Apache Stanbol Contenthub Clerezza Store Implementation
[INFO] Apache Stanbol Contenthub InMemory Store Implementation
[INFO] Apache Stanbol Contenthub Store Reactor
[INFO] Apache Stanbol Search Solr Searcher
[INFO] Apache Stanbol Entityhub - Test Framework
[INFO] Apache Stanbol Entityhub Core
[INFO] Apache Stanbol Entityhub Model implementation based on RDF
(using Clerezza)
[INFO] Apache Stanbol Search Related Keyword Searcher
[INFO] Apache Stanbol Featured Search
[INFO] Apache Stanbol Search Reactor
[INFO] Apache Stanbol Content Hub JAX-RS API
[INFO] Apache Stanbol Contenthub Bundle List
[INFO] Apache Stanbol Entityhub Yard implementation hased on Solr
[INFO] Apache Stanbol Entityhub LDPath implementation
[INFO] Apache Stanbol Contenthub Clerezza LDPath Backend Implementation
[INFO] Apache Stanbol Contenthub Reactor
[INFO] Apache Stanbol Entityhub Query implementation hased on SPARQL
[INFO] Apache Stanbol Entityhub Linked Data Protocol Implementation
[INFO] Apache Stanbol Entityhub Yard implementation hased on Clerezza
[INFO] Apache Stanbol Entityhub HTTP Endpoint
[INFO] Apache Stanbol Entityhub Indexingparent POM
[INFO] Apache Stanbol Entityhub Indexing Core
[INFO] Apache Stanbol Entityhub IndexingSource for RDF using Jena TDB
[INFO] Apache Stanbol Entityhub IndexingSource for vCard
[INFO] Apache Stanbol Entityhub Indexing SolrYard destination
[INFO] Apache Stanbol Entityhub Indexing - generic configuration for
RDF indexing
[INFO] Apache Stanbol Entityhub Indexing for geonames.org
[INFO] Apache Stanbol Entityhub Indexing for DBpedia.org
[INFO] Apache Stanbol Entityhub Indexing for dblp
[INFO] Apache Stanbol Entityhub Indexing reactor
[INFO] Apache Stanbol Entityhub default configuration
[INFO] Apache Stanbol Entityhub Bundle List
[INFO] Apache Stanbol Entityhub reactor
[INFO] Apache Stanbol FactStore
[INFO] Apache Stanbol FactStore Bundle List
[INFO] Apache Stanbol FactStore Reactor
[INFO] Apache Stanbol Ontology Network Manager
[INFO] Apache Stanbol Ontology Registry Manager
[INFO] Apache Stanbol OntoNet Web Home
[INFO] Apache Stanbol Ontology Manager Bundle List
[INFO] Apache Stanbol Ontology Manager reactor
[INFO] Apache Stanbol Rules Services API
[INFO] Apache Stanbol Rules Manager
[INFO] Apache Stanbol Rules Refactorer
[INFO] Apache Stanbol Rules Web Home
[INFO] Apache Stanbol Rules Bundle List
[INFO] Apache Stanbol Rules reactor
[INFO] Apache Stanbol Reasoners Services API
[INFO] Apache Stanbol Reasoners Service Manager
[INFO] Apache Stanbol Reasoners OWL API
[INFO] Apache Stanbol Reasoners Jena
[INFO] Apache Stanbol Reasoners Test Framework
[INFO] Apache Stanbol Reasoners Web
[INFO] Apache Stanbol Reasoners Bundle List
[INFO] Apache Stanbol Reasoners Reactor
[INFO] Apache Stanbol Commons Web Content Editable Enhancer UI
[INFO] Apache Stanbol Enhancer Enhancement Engine : Semantic NER
[INFO] Apache Stanbol Enhancer Enhancement Engine : Language Identifier
[INFO] Apache Stanbol Enhancer Enhancement Engine : Topic Classification
[INFO] Apache Stanbol Enhancer Enhancement Engine : Metaxa Metadata
and Text Extractor
[INFO] Apache Stanbol Enhancer Enhancement Engine : Apache Tika
[INFO] Apache Stanbol Enhancer Enhancement Engine : geonames.org GIS service
[INFO] Apache Stanbol Enhancer Enhancement Engine : for Entityhub
ReferencedSites
[INFO] Apache Stanbol Enhancer Enhancement Engine and utilities for
extracting keywords form parsed text.
[INFO] Apache Stanbol Enhancer Enhancement Engine : Refactoring service
[INFO] Apache Stanbol Enhancer Enhancement Engine : OpenCalais
[INFO] Apache Stanbol Enhancer Enhancement Engine : Zemanta Tagging
[INFO] Apache Stanbol Enhancer Engines Reactor
[INFO] Apache Stanbol OSGi Framework Bundle List
[INFO] Apache Stanbol Commons Bundle List
[INFO] Apache Stanbol Launcher - Stable
[INFO] Apache Stanbol Launcher - Stateless
[INFO] Apache Stanbol Launcher - Full
[INFO] Apache Stanbol Launcher - Full WAR
[INFO] Apache Stanbol Integration Tests
[INFO] Apache Stanbol Reactor

Of course, this will not stop a normal reactor as maven reorganises
all of the modules to fit even if the pom.xml module order is not
consistent with reality. It would be nice to be able to do quick
compiles of stanbol without having to pick and choose manually the
bits that are required by each package. In my case I would like to
experiment with the raw ontologymanager part independent of all of the
value added (slow to compile) parts like the enhancer, rules, and
entityhub.

Cheers,

Peter

Reply via email to