Git Product home page Git Product logo

pcf-tools's Introduction

PCF Tools

Test Release

Cathal.PcfTools.MSBuild.Control

NuGet version (Cathal.PcfTools.MSBuild.Control)

Cathal.PcfTools.MSBuild.Proj

NuGet version (Cathal.PcfTools.MSBuild.Proj)

Cathal.PcfTools.MSBuild.Solution

NuGet version (Cathal.PcfTools.MSBuild.Solution)


Setup

The repo assumes a project uses the following folder structure:

  • control/ (folder containing the PCF control, *.pcfproj)
  • solution/ (folder containing the PAC solution, *.cdsproj)
  • {project_name}.proj

{project_name}.proj

The .proj file should contain the following contents:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Sdk Name="Cathal.PcfTools.MSBuild.Proj" Version="0.1.16" />
</Project>

Note: Replace 0.1.16 above with later versions as appropriate.

control/

The following change should be made in the control.cdsproj file:

  <?xml version="1.0" encoding="utf-8"?>
  <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+     <Sdk Name="Cathal.PcfTools.MSBuild.Control" Version="0.1.16" />

Note: Replace 0.1.16 above with later versions as appropriate.

solution/

The following change should be made in the solution.cdsproj file:

  <?xml version="1.0" encoding="utf-8"?>
  <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+     <Sdk Name="Cathal.PcfTools.MSBuild.Solution" Version="0.1.16" />

Note: Replace 0.1.16 above with later versions as appropriate.


Commands

The following commands can be run from the folder where the {project_name}.proj file exists:

  • Build the control / solution:

    dotnet build
  • Updating the PAC package versions used by the project: (replace X.Y.Z with the updated version number with the version of the pcf-scripts package to install)

    dotnet msbuild -t:UpdatePcfPackagesVersion -p:NewVersion=X.Y.Z
  • Upgrading the tools from command line: (replace X.Y.Z with the updated version number of this project)

    dotnet msbuild -t:UpdatePcfToolsSdk -p:NewVersion=X.Y.Z
  • Copying template files into the projects:

    dotnet msbuild -t:UpdatePcfTemplateFiles
  • Set the version number consistently throughout the project: (replace X.Y.Z with the version you would like to set your control to)

    dotnet msbuild -t:SetVersion -p:NewVersion=X.Y.Z

pcf-tools's People

Contributors

cathalnoonan avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar

pcf-tools's Issues

Automate creation of PRs to consuming repos

When a new version of this repo is published (and available on nuget):

  • Enumerate repos in @cathalnoonan that have a name starting with d365-pcf-
  • Filter to non-disabled repos
  • Check out the repo, create a branch, run update script, create PR to default branch of the repo
    • Update SDK version
    • Update template files

Update to dotnet 8

Consuming repos will need to have their documentation updated manually.

Jest related improvements

  • Run the Jest tests in the consumer github actions
  • Publish coverage folder from control projects if they exist

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.