I just found out that the "default" location for the goal "stage-deploy"
of maven's site plugin is exactly this convention. Here's what the
website for site says:

The staged site will be deployed to this URL. If you don't specify this,
the default-value will be
"${project.distributionManagement.site.url}/staging", where "project" is
either the current project or, in a reactor build, the top level project
in the reactor.

I'll update the parent-pom-top to add the distributionManagement info
for the site to reflect the site plugin requirements (e.g., it must use
the "scp:" protocol).

Note that your maven settings file needs to add 2 entries to support the
server authentication; one for the normal site deploy, and the other for
the staging deploy.

For example (not yet tested/verified):

    <!-- To publish a website of some part of UIMA -->
    <server>
      <id>uima.apache.org</id>
      <username>schor</username>
      <password>  -- insert encrypted password here -- </password>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>
    <!-- To stage a website of some part of Maven -->
    <server>
      <id>stagingSite</id> <!-- must match hard-coded repository
identifier in site:stage-deploy -->
      <username>schor</username>
      <password>  -- insert encrypted password here -- </password>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>
 
-Marshall

On 6/3/2010 3:22 AM, Tommaso Teofili wrote:
> 2010/6/2 Marshall Schor <[email protected]>
>
>   
>> Most website systems have a CMS (Content Management System) to allow
>> staging of changes, review, and making the changes go live, with some
>> automation.
>>
>> Apache is considering such a system (from Day software) but it isn't yet
>> available.
>>
>> I'd like to have something where we could do some testing and evaluation
>> of new stuff before it goes live.  I'm thinking of using a convention of
>> uima.apache.org/staging root to do this.  The site:deploy goal would put
>> things here, and after review, we would move things to the official spots.
>>
>> We could put an "index.html" under this that says this is a staging
>> area, should not be "linked" to, and that information here is not
>> officially approved and is subject to frequent change.
>>
>> Another alternative: Maven uses a somewhat different convention: they
>> have for each plugin, for instance, a staging area that is named
>> maven.apache.org/plugins/abc-plugin-1.2.1  - that is, they append the
>> version number to the subproject's top level name.
>>
>> Do either of these seem like a reasonable approach for now, until
>> something better comes along?  My leaning at this point is to the
>> simpler first alternative, above.
>>
>> -Marshall
>>
>>     
> Yes, I would go for the first one too.
> Tommaso
>
>   

Reply via email to