Hi Mark,

I've taken the time to rewrite the tutorial:
http://platform.xwiki.org/xwiki/bin/view/DevGuide/WritingComponents

Enjoy
-Vincent

On Nov 13, 2010, at 8:54 PM, [email protected] wrote:

> Thanks, I'll try this when I get a chance.
> 
> BTW, my component file is .xml not .txt (the extension).  Is this the way it 
> should be?  
> 
> -Mark
> 
> -----Original Message-----
> From: "Vincent Massol" <[email protected]>
> Sent: Saturday, November 13, 2010 3:05am
> To: "XWiki Developers" <[email protected]>
> Subject: Re: [xwiki-devs] maven error when trying to write my own component
> 
> 
> On Nov 13, 2010, at 8:23 AM, Caleb James DeLisle wrote:
> 
>> Sorry for the trouble, the archetype in that tutorial does not work anymore.
>> See warning:
>> ``The tutorial below is slightly outdated since some changes have been 
>> brought to the Component
>> Module since it was written. See the Reference document on XWiki Components 
>> for fresh information.
>> This tutorial needs to be rewritten and duplicate with the Reference 
>> document removed.''
>> 
>> What I do to write a component is copy a small component like xwiki-captcha
>> and edit the .pom file to suite my needs.
> 
> I'll try to find time to update the page.
> 
> However it's quite simple:
> - create an interface and annotate it with @ComponentRole
> - create an implementation and annotate it with @Component
> - annotate fields that need to be injected with @Requirement
> - add the full package of the implementation in META-INF/components.txt
> - drop your jar in WEB-INF/lib or drop your classes in WEB-INF/classes
> 
> These steps are described in 
> http://code.xwiki.org/xwiki/bin/view/Modules/ComponentModule#HUsingAnnotations
> 
> Thanks
> -Vincent
> 
>> Caleb
>> 
>> 
>> On 11/12/2010 04:32 PM, Mark Wallace wrote:
>>> Hi all,
>>> 
>>> It's my first time trying to develop my own component per this page:
>>> http://platform.xwiki.org/xwiki/bin/view/DevGuide/WritingComponents
>>> 
>>> I ran the maven create component steps as follows:
>>> 
>>>  C:\dev\xwiki\xwiki-enterprise-2.5-rc-1> mvn install:install-file
>>>  -Dfile="C:/Downloads/xwiki-archetype-component-1.0-SNAPSHOT.jar"
>>>  -DartifactId=xwiki-archetype-component
>>>  -DgroupId=com.xpn.xwiki.platform.tools -Dversion=1.0-SNAPSHOT
>>>  -Dpackaging=jar
>>>  . . .
>>>  C:\dev\xwiki\xwiki-enterprise-2.5-rc-1>mvn archetype:generate
>>>  -DarchetypeGroupId=com.xpn.xwiki.platform.tools
>>>  -DarchetypeArtifactId=xwiki-archetype-component
>>>  -DarchetypeVersion=1.0-SNAPSHOT
>>>  -DgroupId=com.modusoperandi.xwiki.extentions
>>>  -DartifactId=xwiki-marktest  -Dpackage=com.modusoperandi.xwiki.ext
>>>  -Dversion=0.1 -Dpackaging=jar
>>>  . . .
>>> 
>>> 
>>> Now I have an xwiki-marktest project.
>>> 
>>> Had to comment out the "1.8-SNAPSHOT" property value, making my pom.xml 
>>> look like this:
>>> 
>>> 
>>>  C:\dev\xwiki\xwiki-enterprise-2.5-rc-1\xwiki-marktest>   type pom.xml
>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>  <!--
>>>    *
>>>    * See the NOTICE file distributed with this work for additional
>>>  . . .
>>>    *
>>>  --><project xmlns="http://maven.apache.org/POM/4.0.0";
>>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>  xsi:schemaLocation="http://maven.apache.org/POM/4.0.
>>>  0 http://maven.apache.org/maven-v4_0_0.xsd";>
>>>  <modelVersion>4.0.0</modelVersion>
>>>  <parent>
>>>  <artifactId>xwiki-enterprise-parent</artifactId>
>>>  <groupId>com.xpn.xwiki.products</groupId>
>>>  <version>2.5-rc-1</version>
>>>  </parent>
>>>  <groupId>com.modusoperandi.xwiki.extentions</groupId>
>>>  <artifactId>xwiki-marktest</artifactId>
>>>  <version>0.1</version>
>>>  <properties>
>>>  <!-- TODO: remove this if you inherit a project that has the core
>>>  version set
>>>  <platform.core.version>1.8-SNAPSHOT</platform.core.version>
>>>                     -->
>>>  </properties>
>>>  <dependencies>
>>>  <dependency>
>>>  <groupId>org.xwiki.platform</groupId>
>>>  <artifactId>xwiki-core-component</artifactId>
>>>  <version>${platform.core.version}</version>
>>>  </dependency>
>>>  <dependency>
>>>  <groupId>junit</groupId>
>>>  <artifactId>junit</artifactId>
>>>  <version>3.8.1</version>
>>>  <scope>test</scope>
>>>  </dependency>
>>>  <!-- Add here all your other dependencies -->
>>>  </dependencies>
>>>  </project>
>>> 
>>> 
>>> But when I try to compile I get the "Failure to find..." error shown below.
>>> 
>>>  C:\dev\xwiki\xwiki-enterprise-2.5-rc-1\xwiki-marktest>mvn compile
>>>  [INFO] Scanning for projects...
>>>  [INFO]
>>>  [INFO]
>>>  ------------------------------------------------------------------------
>>>  [INFO] Building xwiki-marktest 0.1
>>>  [INFO]
>>>  ------------------------------------------------------------------------
>>>  [INFO]
>>>  ------------------------------------------------------------------------
>>>  [INFO] BUILD FAILURE
>>>  [INFO]
>>>  ------------------------------------------------------------------------
>>>  [INFO] Total time: 0.188s
>>>  [INFO] Finished at: Fri Nov 12 16:24:05 EST 2010
>>>  [INFO] Final Memory: 2M/254M
>>>  [INFO]
>>>  ------------------------------------------------------------------------
>>>  [ERROR] Failed to execute goal on project xwiki-marktest: Could not
>>>  resolve dependencies for project
>>>  com.modusoperandi.xwiki.extentions:xwiki-marktest:jar:0.1:
>>>  Failure to find org.xwiki.platform:xwiki-core-component:jar:2.5-rc-1
>>>  in http://maven.xwiki.org/externals was cached in the local
>>>  repository, resolution will not
>>>    be reattempted until the update interval of xwiki-externals has
>>>  elapsed or updates are forced -> [Help 1]
>>>  [ERROR]
>>>  [ERROR] To see the full stack trace of the errors, re-run Maven with
>>>  the -e switch.
>>>  [ERROR] Re-run Maven using the -X switch to enable full debug logging.
>>>  [ERROR]
>>>  [ERROR] For more information about the errors and possible
>>>  solutions, please read the following articles:
>>>  [ERROR] [Help 1]
>>>  
>>> http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
>>>  C:\dev\xwiki\xwiki-enterprise-2.5-rc-1\xwiki-marktest>
>>> 
>>> What do I do now?? Any help would be greatly appreciated.
>>> 
>>> -Mark
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to