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
> 
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to