Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Apr 09 23:19
    matkoch closed #735
  • Apr 09 23:19
    matkoch commented #735
  • Apr 09 22:07
    matkoch commented #734
  • Apr 09 22:07
    matkoch milestoned #734
  • Apr 09 22:07
    matkoch labeled #734
  • Apr 09 22:06

    matkoch on develop

    Fix XmlPoke to allow specifying… (compare)

  • Apr 09 22:06
    matkoch closed #734
  • Apr 09 21:02
    cmenzi edited #735
  • Apr 09 20:53
    cmenzi opened #735
  • Apr 09 14:49
    matkoch commented #733
  • Apr 09 09:28
    olsh opened #734
  • Apr 09 07:54
    vova-lantsov-dev opened #733
  • Apr 08 10:20
    matkoch commented #732
  • Apr 08 10:19
    matkoch closed #732
  • Apr 08 07:45
    zplan edited #732
  • Apr 08 07:30
    zplan edited #732
  • Apr 08 07:15
    zplan opened #732
  • Apr 07 23:40

    matkoch on develop

    Move DownloadFonts into Install… (compare)

  • Apr 07 10:36

    matkoch on develop

    Merge DownloadFonts into Instal… (compare)

  • Apr 07 10:24

    matkoch on develop

    Finalize CHANGELOG.md for 5.1.0 Merge branch 'release/5.1.0' in… (compare)

Stefan Bertels
@StefanBertels

Hi, this is an older question and I found no satisfying solution. Maybe there are new options or ideas, so here again:

I have build steps that are packaged as Target which is a good thing because they have Requirements, Dependencies and something to execute.
Now I have a small library of building blocks (Targets) like Test, Compile, Pack, Publish, Install (you probably can guess what they do and that they somewhat depend on each other).

Often I have to add special code to those Targets which means I want to have a new e.g. Pack target where I might add Dependencies, might add Requirements and want to add Code (pre-processing / post-processing).
Currently I try to overridethe old Target (inheritance) but this does not work well.

What I'm looking for is a clean way to compose targets (add things to targets). Obviously one (hard) part is that I want to stay with the original target name. If this cannot be solved, I could live with workaround of giving new names.
But I want to re-use existing target definitions in a way that I can add code that get's execute after and BEFORE the old target code (somewhat aspect orientated programming).

Any suggestions?

Stefan Bertels
@StefanBertels
Pseudocode:
 public override Target Publish => _ => _
        .DependsOn(base.Publish.Dependencies)
        // .DependsOn(... other targets MY code depends on...)
        .Requires(base.Publish.Requirements)
        // .Requires(... requirements for MY code ...)
        .Executes(() =>
        {
            // MY preprocessing
            // ...
            base.Publish.Execute();
            // MY postprocessing
            // ...
        });
or something like
public override Target Publish => base.Publish
        // .AddRequirement(... requirements for MY code ...)
        // .AddDependency(... other targets MY code depends on ...)
        .AddExecutionPreProcessing(() =>
        {
            // MY preprocessing
            // ...
        })
        .AddExecutionPostProcessing(() =>
        {
            // MY postprocessing
            // ...
        });
Volkmar Rigo
@VolkmarR

Hello Stefan. One thing I did in my Build Scripts is to separate Target Definition and Target Implementation.

 public Target Publish => _ => _
        .Executes(() => PublishAction());

public virtual void PublishAction()
{
    // Implement Publish Target
}

That way you can override the PublishAction without changing the Target Definition.
And you can add additional Targets, that are triggered by existing Targets by using TriggeredBy.

Matthias Koch
@matkoch
@/all :mega::shipit: NUKE 5.0.0 IS OUT!!!
  • Fixed version number
Marko Lahma
@lahma
🚀🚀🚀 great work! 🚀🚀🚀
Jérôme Rx
@jrouaix
image.png
hello there, is there an easy way to quickly add a command line argument to an existing toolsetting
helm3 has some changes and I now need to add a -n <namespace> param to the HelmGetValues tasks
Jérôme Rx
@jrouaix
found it with settings.SetArgumentConfigurator(args => args.Add("--namespace {value}", ns)). working.
Rahul Rai
@imrahulrai_twitter
how can i pass array of string as parameter in nuke build process , how can i pass string[] from powershell
Denis
@dengia
Hi, I'd like to sign my assembly (dotnet core) with Code Signing certificate. Can't find any example on how to do it. Any tips?
Matthias Koch
@matkoch
search for signtool
Denis
@dengia
:-) I mean any example with nuke?
Matthias Koch
@matkoch
cli tools all follow the same principle
it wouldn’t make much sense to provide examples for each and every tool
Matthias Koch
@matkoch
@/all :mega::shipit: NUKE 5.0.1 IS OUT!!!
  • Fixed configuration generation to wait for user input after file changes
  • Fixed build summary for durations smaller than 1 second
  • Fixed build summary and IBuildExtension instances to be skipped if no targets were started
  • Fixed build summary to hide irrelevant durations
  • Fixed setting of EmbeddedPackagesDirectory for global tools
  • Fixed PackPackageToolsTask to use lower-case package ids
  • Fixed ParameterAttribute.ValueProvider to allow members of type IEnumerable<string>
  • Fixed Logger to remove ControlFlow from stacktrace
  • Fixed assertion messages for warnings
  • Fixed path and quoting in build.cmd
  • Fixed GitVersion.Tool version in project templates
  • Fixed LatestMyGetVersionAttribute to handle new RSS feed format
  • Fixed missing arguments PublishReadyToRun, PublishSingleFile, PublishTrimmed, PublishProfile, NoLogo for DotNetPublish
  • Fixed parameter name Verbosity in DotNetPack
  • Fixed enumeration value lcov in CoverletTasks
  • Fixed ReSharperTasks to use correct tool path
  • Fixed ChangelogTasks to respect additional markdown-linting rules
  • Fixed TeamCity generator to consider artifact products from all relevant targets
  • Fixed condition for skipping lines in TeamCity parameter files
Matthias Koch
@matkoch
@/all :mega::shipit: NUKE 5.0.2 IS OUT!!!
  • Fixed ChangelogTasks to use HTTPS links in history
  • Fixed DotNetRun and DotNetTest run settings
  • Fixed conditions for informational text
Matthias Koch
@matkoch
Andrew Stiver
@Stiverton
Trying to login to a docker registry via the command line using a Process. Docker recommends not using the password parameter to enter the password because the password will appear in plaintext in the output and logs. Docker has another flag to receive the password from the STDIN, but I don't see a method within Nuke.Common.Tooling.ProcessTasks.StartProcess() to pass anything into the STDIN of the process. Any ideas on how to handle this?
Christian Sindberg
@chrsin
Is there a way to supply the sonar.coverageReportPaths analysis parameter to the SonarScannerTasks.SonarScannerBegin builder?
Almost seems like a cruel joke that Report Generator can export to SonarQube format, but I can't use it in the Scanner task? (Obviously I'm missing something)
Also, if there is some general way to do this for most tasks would be really helpful. Usually you know exactly which parameter to add, but I miss the method for it.
Matthias Koch
@matkoch
yes there is smth
it’s called PR :)
Christian Sindberg
@chrsin
@matkoch I'll have a look at it. Just didn't wanna reinvent anything if it was already there. :)
Matthias Koch
@matkoch
you can see what’s there on the task documentation
Christian Sindberg
@chrsin
@matkoch turns out i can actually add custom arguments using .SetProcessArgumentConfigurator I was just blind all along
Thanks for your input
And thank you for Nuke. It's really promising. If this project goes well, I'm going to try pusing it in the organization. :)
Matthias Koch
@matkoch
so no PR?
Christian Sindberg
@chrsin
@matkoch How do i update the SonarScannerTasks? I've added my changes to SonarScanner.json but I can't find any target that gets it done. :/
Christian Sindberg
@chrsin
Also yeah I'm doing the PR just needed a working solution for it first. :)
Christian Sindberg
@chrsin
Sry didnt see you moved to slack will post there instead.
Dzenan
@dzenand
Hi, playing a bit a round, and I want to update my appsettings.json file with some fields during the build. is there a good way to update exiting json file? or I just need to go with the Text.Json or similar
avojacek
@avojacek
Hi all. I'm starting new project where I will use some sass and typescript compilations (.NET , not .NET Core). We are using JetBrains and Visual Studio 2019 for build server I want to use Nuke. what solution compiling sass and type script will be easiest to implement in VS, Rider, Nuke ? I'm thinking about webpack, but may be that there is other solution which will work in all 3 envs. On nuke side I want to use npmrun task.
PatrickM
@trickapm
Anyone know of a complex nuke build setups i could use for some inspiration / learning nuke? All i can find thus far, like the examples linked in the docs, are quite simple standalone projects
Sateesh Pagolu
@sateesh-pagolu
Does anyone know if there is a way to run a shell command using Nuke? Or is Process.Start the only way?
Sateesh Pagolu
@sateesh-pagolu
Found it.. ProcessTasks.StartProcess is the way to go. :)
Bragi Fannar Sigurðsson
@bragisig
Hello, does anybody here know how to integrate Bamboo into a build? I need to get access to the Bamboo variables.
I have been trying to use this: http://www.nuke.build/api/Nuke.Common/Nuke.Common.CI.Bamboo.Bamboo.html but with no luck.
Sateesh Pagolu
@sateesh-pagolu
Hello, I am experimenting with Nuke Build's CI integration (TeamCity, to be specific). I am wondering if there is a way to run a Target (eg: DotNetBuild) in docker container. Like how the DotnetBuildStep can be run on a docker container by setting dockerImage property in kotlin DSL.
https://teamcity.jetbrains.com/app/dsl-documentation/jetbrains.build-server.configs.kotlin.v2019_2.build-steps/-dotnet-build-step/index.html
Sateesh Pagolu
@sateesh-pagolu
Sorry, any thoughts on the above? I assume it is not possible yet?
Naveen Anto Alangararaj
@nnanto
Is the nuke.build site down?
Jason Finch
@jafin
@nnanto it is for me
Jason Finch
@jafin
New to nuke, is there a way with DotNetPack for packing nugets, to exclude certain projects when targeting a solution, or is the best approach to SetProject for each individual project to pack omitting the ones not to pack?
1 reply
Matthias Koch
@matkoch
foo