GithubHelp home page GithubHelp logo

endjin / teamcityilmergemetarunner Goto Github PK

View Code? Open in Web Editor NEW
1.0 12.0 3.0 1.11 MB

A Meta Runner for TeamCity that allows you to run ILMerge as a Build Step

Home Page: https://endjin.com/open-source

License: Other

PowerShell 44.67% Batchfile 55.33%

teamcityilmergemetarunner's Introduction

ILMerge Meta-Runner for TeamCity

A TeamCity Meta-Runner that provides a user interface to configure and run ILMerge. The Meta-Runner contains the help text from the official ILMerge documentation.

Screenshot of the ILMerge Meta-Runner

##Installation To install the plugin, first download the zip from the releases section in the GitHub repo, then log into TeamCity with an account that has Admin privileges. Then navigate to Administration > Server Administration > Plugins List and then use the "Upload plugin zip" hyperlink.

##Issues We've tested the Meta-Runner for our main use cases, but please raise an issue if you encounter any problems using this plugin.

@HowardvRooijen | @endjin | This is an endjin Open Source project.


ILMerge is Copyright (C) Microsoft Corporation. All rights reserved.

teamcityilmergemetarunner's People

Contributors

howardvanrooijen avatar seasniffer avatar villejuhanilaakso avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

teamcityilmergemetarunner's Issues

Missing quotation marks in target platforms

Target platforms for v3.5 and v4.5.2 have quotation marks around the target platform parameters, but others do not. As can be seen in code here.

This leads to all other target platforms failing with the following error:
The term 'x86' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

The script exists with code 0 when an exception is thrown

When running a build with the ILMerge build step misconfigured I encountered the following case:

[10:12:14]Step 1/1: ILMerge (Powershell) (9s)
[10:12:14]PowerShell Executable: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
[10:12:14]Working directory: D:\BuildAgent\work\1da22302571c8a0a
[10:12:14]PowerShell arguments: [-Version, 3.0, -NoProfile, -NonInteractive, -ExecutionPolicy, ByPass, -File, D:\BuildAgent\temp\buildTmp\powershell311865347830204534.ps1]
[10:12:18]Command to Execute: & "C:\BuildAgent\tools\ilmerge-metarunner\bin\ilmerge.exe" [Redacted]
[10:12:23]An exception occurred during merging: ILMerge.Merge: Could not find the file '[Redacted]'. at ILMerging.ILMerge.Merge() at ILMerging.ILMerge.Main(String[] args)
[10:12:23]Process exited with code 0

The ILMerge fails with an exception, but since the process exists with code 0 TeamCity thinks that the step succeeded and continues normally.

Some parameters of the ILMerge command, including the /lib parameter, are missing a colon before the value

According to the ILMerge documentation:

All options that take arguments can use either ":" or "=" as a separator. Options can be in any order, but all of the options must precede the list of input assemblies.

Here's a slightly modified row from a build log showing the command that is run on the agent:

Command to Execute: & "C:\BuildAgent\tools\ilmerge-metarunner\bin\ilmerge.exe" /lib Program\bin\Release\ /target:library /targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2" Generic.dll Another.dll /out:Generic.dll

A quick code study shows that other parameters are also suffering from the same issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.