Git Product home page Git Product logo

rake-dotnet's People

Contributors

petemounce avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

rake-dotnet's Issues

Support changeable conventions...?

Can do this by using FileLists to replace the constants as now, so for example

`src_dir_list = [‘src/*’, ‘tests/*’]`

…? Perhaps I’ll wait for someone to vote… Personally, I’m happy with my own conventions! :-)

Update ncover custom tasks to take path to xunit

xunit 1.5 introduces possibility of wanting to run the x86 runner vs the x64 runner. Should be possible to push in a preference when (for example) on an x64 box running a set of tests using the x86 runner (because the test DLL depends on something that is x86-only, like WatiN).

NUnit support

Support NUnit test fixtures via the console runner

AssemblyInfo task should always run

The AssemblyInfo task might write the actual time and therefore depends on the current time and should recreate the assembly info files on each run.

From 1ba62249dadc985850c99ff55c227f1c79d9906e Mon Sep 17 00:00:00 2001
From: e-tobi <github AT e-tobi.net>
Date: Thu, 18 Feb 2010 14:15:29 +0100
Subject: [PATCH] Make assembly_info task run always

---
 lib/rake_dotnet/tasks/assemblyinfo.rb |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/lib/rake_dotnet/tasks/assemblyinfo.rb b/lib/rake_dotnet/tasks/assemblyinfo.rb
index d7c84d0..d0107c9 100644
--- a/lib/rake_dotnet/tasks/assemblyinfo.rb
+++ b/lib/rake_dotnet/tasks/assemblyinfo.rb
@@ -8,6 +8,9 @@ class AssemblyInfoTask < Rake::TaskLib
    end

    def define
+       stamp = '.assembly_info_task_stamp'
+       CLEAN.include(stamp)
+
        src_dir_regex = regexify(@src_dir)
        rule(/#{src_dir_regex}\/[\w\.\d]+\/Properties\/AssemblyInfo.cs/) do |r|
            generate_for(r, 'cs')
@@ -39,9 +42,10 @@ class AssemblyInfoTask < Rake::TaskLib

        desc 'Generate the AssemblyInfo.cs file from the template closest'
        task :assembly_info do
+           File.open(stamp, 'w') {}
            Pathname.new(@src_dir).entries.each do |e|
                asm_info = asm_info_to_generate(e)
-               Rake::FileTask[asm_info].invoke unless asm_info.nil?
+               Rake::FileTask[asm_info].enhance([stamp]).invoke unless asm_info.nil?
            end
        end

-- 
1.6.3.msysgit.0

Version.txt should be updated when template changes

The version.txt should depend on the template, so it automatically gets updated with the template.

From 9acadf6d25dfed34bbd6233f83ac7e34ab59b686 Mon Sep 17 00:00:00 2001
From: e-tobi <github AT e-tobi.net>
Date: Thu, 18 Feb 2010 15:03:36 +0100
Subject: [PATCH 2/2] Update version.txt when template changes

---
 lib/rake_dotnet/versioner.rb |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/rake_dotnet/versioner.rb b/lib/rake_dotnet/versioner.rb
index 44c2b35..68fb213 100644
--- a/lib/rake_dotnet/versioner.rb
+++ b/lib/rake_dotnet/versioner.rb
@@ -1,6 +1,8 @@
 class Versioner
+   VERSION_TEMPLATE_FILE = 'version.template.txt'
+
    def initialize(template_file=nil, opts={})
-       tf_path = template_file || 'version.template.txt'
+       tf_path = template_file || VERSION_TEMPLATE_FILE
        @tf = Pathname.new(tf_path)
        @vf = Pathname.new(tf_path.sub('.template', ''))
    end
@@ -34,7 +36,8 @@ class Versioner
 end

 Version_txt = 'version.txt'
-file Version_txt do
+file Version_txt => Versioner::VERSION_TEMPLATE_FILE do
+   rm_f Version_txt
    Versioner.new.get
 end
 task :version => Version_txt
-- 
1.6.3.msysgit.0

Wrap sqlcmd

Wrap sqlcmd for database create/drop/script execution

Collect metrics into a file for comparison during CI to prevent entropy

Collect metrics (coverage, fxcop w/e, ndepend CQLs, etc) into a file during a build.

Create a comparator so that we can grab this file from the previous successful build and compare this build to that, and fail the build if entropy is encroaching.

This forces people to not commit code that makes the codebase worse...

Tools should look for themselves in standard installation directories too

Tools should search for themselves first in local TOOLS_DIR as now, and then failing that in their own standard install locations. This will negate the strict need for tools to reside in source control. This seems acceptable since tools are part of the build process, not deployment; libraries will be referenced in project files, so that's entirely at the user's discretion.

Demo errors

When running rake in rake-dotnet\presentation\DemoRoot\Demo\build the following error is returned:

rake aborted!
no such file to load -- ../../../../lib/rake_dotnet.rb

This file doesn't appear to exist.

Make compile-configuration part of the msbuild output path

Presently, have to pass in CONFIGURATION=Debug or CONFIGURATION=Whatever, to get a build specifically for that configuration into out/bin.

Should instead assume CONFIGURATION is an array with ['Debug'] as sensible default, then build etc once per array-element, and output into a path that includes the current element in it.

Push version into AssemblyDescription, too

... so that if it's non-numeric (eg DVCS generated), it's still part of the assembly information.

And, while I'm at it, make the assemblyinfo part use the erb template engine.

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.