开发者

import and compile axapta 2009 xpo by commandline

开发者 https://www.devze.com 2023-01-17 10:55 出处:网络
i\'m looking for a way to import an existing xpo-export via command-line into ax2009 aot and afterwards compile just this imported xpo. google tells me how to开发者_StackOverflow compile the whole aot

i'm looking for a way to import an existing xpo-export via command-line into ax2009 aot and afterwards compile just this imported xpo. google tells me how to开发者_StackOverflow compile the whole aot by commandline, which takes quite long. so is there a way to import an xpo ( shared project ) and compile just these objects?

what possibilities are available, if the objects which should be imported are version-controlled by ax and are checked-in?

hoping for an easy way to automate optionally check-out, import, avoid overwrite?-questions, compile and run ;)

thanks in advance!


You can make you own startup command:

  1. Make a new class and extend SysStartupCmd
  2. Change the construct method of SysStartupCmd to call you class.
  3. Do whatever you need, this includes parsing the parm variable.

Also you will have to deal with version control by calling checkin/checkout in your code, handling compile errors etc.

There are no easy way, this is complicated stuff.


Over the last two years I have introduced and refined a command line process for deploying XPOs to AX 4.0 with great success. The class SysAutoRun is key as mentioned above. The following is a brief explanation of the resulting process:

  1. Developers export AX objects from the AOT to a corresponding folder(layer) i.e. CUS, VAR, etc... for the most part the file name is the default file name set by AX.
  2. Developers commit using SVN in this scenario. This would have to be evaluted to meet your needs.
  3. Console application for the build process reads all file names from each directory(layer) and creates corresponding AX project definition files.
  4. Console application reads all file names from each directory (again) and creates an import definition file for each corresponding layer(folder). The project definition created above is also instructed to be imported after all other objects are loaded and finally compiled. The import definition contains some specialized elements that are recognized by the SysAutoRun.execCommand(XmlNode _command) method.
  5. A call is made to ax32.exe "config.axc" -StartupCmd=AUTORUN_ImportDefinitionMentionedAbove.xml -lazyclassloading -lazytableloading -nocompileonimport -internal=noModalBoxes
  6. AX parses this import definition file invoking customizations as instructed. Logging is added to the process for outputting compilation results to an XML log file. Finally step 3's project definition file is compiled.
  7. Console application validates the outputted XML log and handles appropriately.
  8. Step 5-7 is repeated for each (folder)layer.

I understand this is very vague. The intent of this post is to get feedback on interest before I invest more time on describing the process. The import definition file is probably of most interest as it is responsible for loading the objects in the right order, synchronizing the ORM, compiling, repeating, etc...

Thanks M@

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号