------ Various Tips ------ Olivier Lamy ------ 2012-09-04 ------ ~~ Licensed to the Apache Software Foundation (ASF) under one ~~ or more contributor license agreements. See the NOTICE file ~~ distributed with this work for additional information ~~ regarding copyright ownership. The ASF licenses this file ~~ to you under the Apache License, Version 2.0 (the ~~ "License"); you may not use this file except in compliance ~~ with the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, ~~ software distributed under the License is distributed on an ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~~ KIND, either express or implied. See the License for the ~~ specific language governing permissions and limitations ~~ under the License. ~~ NOTE: For help with the syntax of this file, see: ~~ http://maven.apache.org/doxia/references/apt-format.html Various tips for using this plugin * URL format You must use a scm url format: +----------------+ scm: +----------------+ Example for svn: <<>> And configure is as it: +----------------+ site_id scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/plugins/maven-scm-publish-plugin/ +----------------+ <>: with svn, if the remote url doesn't exist, it will be created. * Git branch To use Git branch (for example: {{{https://help.github.com/articles/user-organization-and-project-pages/}GitHub <<>>}}) +----------------+ site_id scm:git:ssh://git@github.com/username/tomcat-foo-artifact.git ... org.apache.maven.plugins maven-scm-publish-plugin ${project.version} gh-pages +----------------+ Initial creation of the branch has to be done manually, as a Git orphan branch: * <<>> to create the branch locally, * <<>> to clean the branch content and let it empy, * copy an initial site content, * commit and push: <<>>, <<>>, <<>> [] * Improving SCM Checkout Performance By default, a complete checkout is done. You can configure the plugin to try update rather than a full checkout/clone +----------------+ org.apache.maven.plugins maven-scm-publish-plugin ${project.version} true +----------------+ By default, the scm content is checked-out/cloned to <<<$\{project.build.directory}/scmpublish-checkout>>>, so when running <<>>, all the content is deleted. You can configure a path to your machine to avoid full checkout. A recommended way is to use a property with a default value that your colleague will be able to override in their settings. +----------------+ ... ${user.home} \${siteMainDirectory}/my-site-content-scm ... org.apache.maven.plugins maven-scm-publish-plugin ${project.version} ${scmPubCheckoutDirectory} true +----------------+ * Using alternate scm provider You can use svnjava rather than default svn cli if you use a machine without svn cli. +----------------+ org.apache.maven.plugins maven-scm-publish-plugin ${project.version} javasvn com.google.code.maven-scm-provider-svnjava maven-scm-provider-svnjava ${maven-scm-provider-svnjava-version} org.tmatesoft.svnkit svnkit ${svnkit-version} +----------------+