Difference between revisions of "Project template"

From ProgClub
Jump to: navigation, search
m (→‎Done: date format...)
 
(9 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
= Status =
 
= Status =
  
 +
We use [[Versioning|semantic versioning]].
 
Latest production version: unreleased.
 
Latest production version: unreleased.
Latest development version: 0.1.1.
+
Latest development version: 0.1.0.
  
See [[#Tasks|tasks]] for work that still needs to be done.
+
See [[#TODO|TODO]] for work that still needs to be done.
  
 
= Motivation =
 
= Motivation =
Line 28: Line 29:
 
== Copyright ==
 
== Copyright ==
  
Copyright 2016, [[#Contributors|Contributors]].
+
Copyright © 2020, [[#Contributors|Contributors]].
  
 
== License ==
 
== License ==
  
Licensed under the {[[New BSD license|New BSD]], [[MIT license|MIT]], or [[GPL]], or [https://www.progclub.org/pcrepo/ link to license file]} license.
+
Licensed under the {[[New BSD license]], [[MIT license]], [[GPL]], or [https://www.progclub.org/pcrepo/ link to license file]}.
  
 
== Components ==
 
== Components ==
  
Libraries, tools, services or media from third parties used under license:
+
Libraries, tools, services, or media from third parties used under license:
  
* List 'em
+
* TODO: list 'em
  
 
= Resources =
 
= Resources =
Line 75: Line 76:
  
 
= Notes =
 
= Notes =
 +
 +
See [[versioning]] for information on our semantic version numbers.
  
 
== Notes for implementers ==
 
== Notes for implementers ==
Line 82: Line 85:
 
== Notes for developers ==
 
== Notes for developers ==
  
If you're looking to set up a development environment for this project here's what you need to know:
+
If you're looking to set up a development environment for this project here's what you need to know.
 +
 
 +
Get the latest code from the version branch:
  
=== Doing a release ===
+
$ <code>svn checkout https://www.progclub.org/svn/pcrepo/pcproject/branches/0.1 pcproject-0.1</code>
  
To release a version of this project use the [https://svn.jj5.net/jjrepo/jj5-bin/trunk/bin/pcrepo-branch-release pcrepo-branch-release] script from the [https://www.jj5.net/sixsigma/JJ5-bin jj5-bin] project:
+
You can then run the unit tests like this:
  
  $ pcrepo-branch-release {project name} $MAJOR.$MINOR $REVISION
+
  $ <code>cd pcproject-0.1 && bin/test/test.sh</code>
  
Where:
+
Note that you may need to install some dependencies, such as:
  
  $MAJOR = the major version number, presently 0
+
  # <code>apt install php-cli</code>
$MINOR = the minor version number, presently 1
 
$REVISION = the revision number for this release
 
  
Note: the $REVISION number starts at 1 and is incremented for each release. The revision number is odd for development releases and even for production releases. See [[#Status|status]] for last production release and increment by two for next production release.
+
Send your patch to [mailto:jj5@progclub.org?subject=pcproject jj5@progclub.org] along with a statement that you are willing to be listed in the [[#Contributors|contributors]] section of the documentation and willing to license your contribution under the [[#License|license]].
  
= Tasks =
+
== Notes for administrators ==
  
== TODO ==
+
To release a version of this project use [[svnman]].
  
Things to do, in rough order of priority:
+
First, run maintenance and commit any changes:
  
* Create the project in svn
+
$ <code>svnman sync</code>
  
[[Category:TODO]]
+
Then run the release:
  
== Done ==
+
$ <code>release</code>
  
Stuff that's done. Latest stuff on top.
+
You may be prompted to update the project documentation.
  
* [[User:John|JE]] {yyyy-mm-dd}: created project page
+
= Generated documentation =

Latest revision as of 07:37, 14 April 2021

{project name} is the ProgClub {project's purpose} software. That's the software that {does what the project does}. It's a fork of {whatever you've copied} with {whatever you've added}. For other projects see projects.

Status

We use semantic versioning. Latest production version: unreleased. Latest development version: 0.1.0.

See TODO for work that still needs to be done.

Motivation

Why this software?

Administration

Contributors

Members who have contributed to this project. Newest on top.

All contributors have agreed to the terms of the Contributor License Agreement. This excludes any upstream contributors who tend to have different administrative frameworks.

Upstream contributors:

  • {link to project's upstream contributors, or delete this section}

Copyright

Copyright © 2020, Contributors.

License

Licensed under the {New BSD license, MIT license, GPL, or link to license file}.

Components

Libraries, tools, services, or media from third parties used under license:

  • TODO: list 'em

Resources

Downloads

TODO: link to downloads or explain why there aren't any.

Source code

The repository can be browsed online:

https://www.progclub.org/pcrepo/pcproject/branches/0.1

The latest stable released version of the code is available from:

https://www.progclub.org/svn/pcrepo/pcproject/tags/latest/0.1

Or if you want the latest version for development purposes:

https://www.progclub.org/svn/pcrepo/pcproject/branches/0.1

Links

Specifications

Functional specification

The functional specification describes what the project does.

Technical specification

The technical specification describes how the project works.

Notes

See versioning for information on our semantic version numbers.

Notes for implementers

If you are interested in incorporating this software into your project, here's what you need to know:

Notes for developers

If you're looking to set up a development environment for this project here's what you need to know.

Get the latest code from the version branch:

$ svn checkout https://www.progclub.org/svn/pcrepo/pcproject/branches/0.1 pcproject-0.1

You can then run the unit tests like this:

$ cd pcproject-0.1 && bin/test/test.sh

Note that you may need to install some dependencies, such as:

# apt install php-cli

Send your patch to jj5@progclub.org along with a statement that you are willing to be listed in the contributors section of the documentation and willing to license your contribution under the license.

Notes for administrators

To release a version of this project use svnman.

First, run maintenance and commit any changes:

$ svnman sync

Then run the release:

$ release

You may be prompted to update the project documentation.

Generated documentation