Home

Ingo erichspitzweg
Attachments
tortoise.png (37479 bytes)

Preface

CODESYS Forge (or short cforge) is an extension to CODESYS, which should help developers and users to use the services, offered on CODESYS Forge.

Users

CODESYS users which have this package installed get an easy access to all their favorite packes, drivers and projects from CODESYS Forge.

Package Install

Packages can as easily inatalled, as clicking on the cforge download button of a project. cforge registers an URL protocol handler in Windows, which handles URLs, starting with the protocol "cforge://".

By clicking on such a link, the corresponding software is downloaded and installed using cforge.

Installed Software

All software, which was installed through cforge is registered and can be maintained, using the cforge command line.

  • Press Windows+R
  • Type "cmd"
  • and then:
cforge --help

usage: cforge <command> [options]

commands:
    list: list installed packages
    install <url>: install a package from.the given URL
    remove <package name>: uninstall a package with the given name
    checkout <url>: checkout SVN projects
    commit [<project file>]: autogenerate project file(s) and markdown, then commit everything
    release [<project>]: save project as compiled library, with the release flag set
    package [<package manifest>]: create package(s) based on the given manifest(s)

options:
    --username: used for SVN operations
    --password: used for SVN operations
    -r, --recursive: search recursively (for projects, package manifests, ...)

Developers

cforge helps developers in several reoccuring tasks of maintaining their CODESYS software.

Checkout

You can always use the standard mechanisms of the CODESYS SVN package to check your projects out. But with cforge you can easily checkout a folder, containing multiple libraries.

You will end up with a folder with projects, that are up to date and have the right connection to the SVN repository that you just checked out.

Commit

Again, you can use the standard mechanism of CODESYS SVN to commit your changea on your projects. But here cforge has several advantages:

  • You can check in several projects and libraries at once
  • cforge will also commit every project in binary form, containing the SVN connection settings to your repository
  • cforge will commit a Markdown file, containing an export of the source code
MyProject/
MyLib/

(these files are generated)
MyProject.project
MyProject.md
MyLib.library
MyLib.md

Release

You can also use cforge to automate your release process a bit. cforge can use the tagged projects to prepare compiled libraries, which have the released flag set.

So, a release with cforge can look like:

  • Create a branch from current trunk
  • Checkout this branch
  • Enter the checkout directory and run "cforge release -r"
  • Optionally also.run "cforge package package.manifest"
  • Commit your changes with "cforge commit"
  • Tag branch with Tortoise to "tags/vx.x.x.x/"

Doing the same w/o cforge would need a lot more manual interaction:

  • Checkout every single project and library
  • Set the release flag in all libraries
  • Save all libraries as compiled library
  • Update a package manifest
  • Create a CODESYS package from the manifest
  • Commit the sources with CODESYS SVN
  • Commit the compiled libraries, packages and project files with an external SVN client