About this Repository
Pre-requisites
- APAX 3.1.1
- AXCODE
- DOTNET 7.0.8.0
- VSCODE or VS2022
Add package source
To get access to the packages from AX#
and AXOpen
you will need to authenticate to a dedicated package feed hosted on GitHub. Authentication is free. If you do not have a GitHub account please consider creating one by signing up at https://github.com.
dotnet nuget add source --username GITHUBUSERNAME --password PAT --store-password-in-clear-text --name gh-packages-ix-ax "https://nuget.pkg.github.com/ix-ax/index.json"
Replace GITHUBUSERNAME with your github name Replace PAT with your Personal Access Token (how to create your PAT)
Checking pre-requisites using script
To check pre-requisites in your enviroment run check_requisites.ps1 script.
# cd into your `axopen` folder
.\scripts\check_requisites.ps1
Build this repository
In order to build this repostory run build.ps1 script.
# cd into your `axopen` folder
.\build.ps1
Directory Structure
docfx
Contains documentation for this repository.
docfx/
│
├── api/
│ └── API for .NET part of the framework (autogenerated from code)
│
├── apictlr/
│ └── API for controller part of the framework (autogenerated from code)
│
├── apidoc/
│ └── Table of contents for API documentation
│
├── articles/
│ └── Various articles
│
├── components/
│ ├── Documentation for components
│ └── toc.yml (new component library doc ref needs to be added here)
│
├── framework/
│ ├── Documentation for framework
│ └── toc.yml (new framework library doc ref needs to be added here)
│
├── images/
│ └── Icons and images (some are used in articles)
│
└── templates/
└── Documentation site templates
Note
When adding a new library, update components/toc.yml
for components and framework/toc.yml
for framework libraries manually.
To test the documentation, run the following script from the repository root folder:
.\scripts\build_test_docu.ps1
It will create docs-test folder that is git-ignored.
docs
The docs folder contains the documentation site. It should be generated on the appropriate branch used to publish the documentation.
Important
Never commit changes to the docs
directory!
scripts
Contains various scripts.
src
Contains all source code related to AXOpen. Each library is placed in a separate directory which has:
library/
│
├── app/
│ └── Sandbox for testing the library, integration tests, and documentation code (linked to the library's actual documentation)
│
├── ctrl/
│ ├── src/ # Library source code
│ ├── tests/ # Unit tests
│ └── docs/ # (optional) Controller code documentation
│
├── src/ # .NET twin and Blazor twin
│
├── tests/ # Tests of various levels
│
├── docs/ # Library documentation
│
├── this.proj # Traversal project. Use to create a solution file for this library [see](README.md#creating-solution-file-from-traversal-project-file)
│
└── slngen.ps # Generates solution file from `this.proj`
APAX Package Versions
Important
All apax packages on the default branch (dev) have a fixed version '0.0.0-dev.0'. This version must not be changed by any commit. The version is assigned at build time in the CI/CD pipeline.
Central Package Management System
This project's NuGet packages versions are organized centrally. You shouldn't assign a package version in your project file. In exceptional cases, you can use a version override. Actual versions are defined in src/Directory.Packages.props.
For more information on central package management, visit here.
Directory-Based Build
Some build aspects of all .NET projects are defined in src/Directory.Build.props. Learn more here.
Creating Solution File from Traversal Project File
You will find several traversal *.proj
files. These are used in the CI/CD process in place of solution *.sln
files. To create solution files from traversal files, use:
dotnet slngen [traversal-project-name].proj -o [output-solution-file].sln --folders true --launch false
Important
Re-create your solution whenever the repository changes to refresh newly added, removed, or modified projects.
You can then open the solution file in Visual Studio as needed.