Skip to content

Commit

Permalink
👾 Number 5 is alive!
Browse files Browse the repository at this point in the history
  • Loading branch information
PureKrome committed Jul 30, 2018
0 parents commit ed85c30
Show file tree
Hide file tree
Showing 30 changed files with 8,715 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* -text
56 changes: 56 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
*.obj
*.pdb
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.lib
*.sbr
*.scc
*.tmp
[Bb]in/
[Dd]ebug/
obj/
[Rr]elease/
[Tt]humbs.db
[Tt]est[Rr]esult*
[Bb]uild[Ll]og.*
*.[Pp]ublish.xml
*.log.*
[Ll]ogs/
[Dd]ata/
[Pp]ackages/
*nlog*.csv
nlog-404s.csv
imagecache/
[Aa]ssemblies/
[Rr]aven/
.vs/

# Windows Azure
csx/
rcf/

# Windows Azure Publish Settings contain security keys for accessing your Windows Azure account
.publishsettings

# Resharper Ignores
_ReSharper.*/
*.resharper.user

.sass-cache/

# Ignore build stuff
[Bb]uild/Artifacts/
[Ss]cripts-[Bb]uild/
46 changes: 46 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email protected]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
53 changes: 53 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# How to contribute

One of the easiest ways to contribute is to participate in discussions and discuss issues. You can also contribute by submitting pull requests with code changes.

## Filing issues
- Don't be afraid to ask any question about the project, including suggestions to change how things currently are.
- Keep the conversation polite and respectful. This way, all parties will take an interest in your question and will be more proactive into helping.
- For bugs, the best way to get your bug fixed is to be as detailed as you can be about the problem. Providing a minimal project with steps to reproduce the problem is ideal. Even though this might be painful, it will speed up the resolution to the problem.

GitHub supports [markdown](https://help.github.com/articles/github-flavored-markdown/), so when filing bugs make sure you check the formatting before clicking submit.

## Contributing code and content

**Identifying the scale**

If you would like to contribute to one of our repositories, first identify the scale of what you would like to contribute. If it is small (grammar/spelling or a bug fix) feel free to start working on a fix. If you are submitting a feature or substantial code contribution, please discuss it with the team.

You can also read these two blogs posts on contributing code: [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) by Miguel de Icaza and [Don't "Push" Your Pull Requests](https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/) by Ilya Grigorik. Note that all code submissions will be reviewed and tested by team members. Of course (where appropriate), tests will be required.

**Obtaining the source code**

If you are an outside contributer, please fork the appropriate repository you would like to contribute to. See the GitHub documentation on [forking a repo](https://help.github.com/articles/fork-a-repo/) if you have any questions about this.

**Building our Repositories**

All repositories are designed to be simple to get started. Once you have pulled down your own fork, just open up the solution file (`<something>.sln` for .NET) and then compile the solution.

**Submitting a Pull Request**

If you don't know what a pull request is read this article: https://help.github.com/articles/using-pull-requests. Make sure the repository can build and all tests pass. Familiarize yourself with the project workflow and our coding conventions.

Pull requests should all be done to the `master` branch.

When a pull request is accepted, squashed and merged (by the repo Administrators), we then manually create a Git tag, which will then be the trigger point to creating a new NuGet package. As such, we don't always create new NuGet packages on every Pull Request ... which is why this is a manual step.

**Commit/Pull Request Format**

```
Summary of the changes (Less than 80 chars)
- Detail 1
- Detail 2
Addresses #bugnumber (in this specific format)
```

**Tests**

- Tests need to be provided for every bug/feature that is completed.
- Tests only need to be present for issues that need to be verified by QA (e.g. not tasks)
- If there is a scenario that is far too hard to test there does not need to be a test for it.
- "Too hard" is determined by the team as a whole.

---
12 changes: 12 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Copyright (c) 2008 - 2012, Pure Krome
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of World Domination Technologies nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Project Description
This is an MSBuild Task for helping minify and/or combine JS and CSS using the YUICompressor.NET library.

![CI Status via AppVeyor](https://ci.appveyor.com/api/projects/status/na9m20sc8dr8qg2r) ![NuGet](https://img.shields.io/nuget/dt/yuicompressor.net.msbuild.svg?syle=flat-square)

## Available via NuGet

[![NuGet Command with MSBuild Task](https://i.imgur.com/aqKIj.png)](https://nuget.org/packages/YUICompressor.NET.MSBuild)

Package Name: `YUICompressor.NET.MSBuild`
CLI: `install-package YUICompressor.NET.MSBuild`

---
31 changes: 31 additions & 0 deletions YUICompressor.NET.MSBuild.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27703.2042
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yahoo.Yui.Compressor.MsBuild", "src\Yahoo.Yui.Compressor.MsBuild\Yahoo.Yui.Compressor.MsBuild.csproj", "{FC51E4A2-EB87-462D-8945-92DD5A4F4624}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yahoo.Yui.Compressor.MsBuild.Tests", "tests\Yahoo.Yui.Compressor.MsBuild.Tests\Yahoo.Yui.Compressor.MsBuild.Tests.csproj", "{CEBF623F-AA1D-4694-988C-B9DDEC91F0A9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FC51E4A2-EB87-462D-8945-92DD5A4F4624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FC51E4A2-EB87-462D-8945-92DD5A4F4624}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC51E4A2-EB87-462D-8945-92DD5A4F4624}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC51E4A2-EB87-462D-8945-92DD5A4F4624}.Release|Any CPU.Build.0 = Release|Any CPU
{CEBF623F-AA1D-4694-988C-B9DDEC91F0A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CEBF623F-AA1D-4694-988C-B9DDEC91F0A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CEBF623F-AA1D-4694-988C-B9DDEC91F0A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CEBF623F-AA1D-4694-988C-B9DDEC91F0A9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {244388D8-E74A-46E6-B529-C91A484327EE}
EndGlobalSection
EndGlobal
62 changes: 62 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@

version: '{build}.0.0-dev'
configuration: Release
os: Visual Studio 2017
pull_requests:
do_not_increment_build_number: true

environment:
nuget_apiKey:
secure: jfcUvHZhgnUboplqTBDWr8mG5PIlrgBv5TA2fhhop4ZSiDxskyy+RtYyeHoduJFR
myget_apiKey:
secure: AguzfXNvHBkkDebTyWHK7o9OC5YL3eszT6u7PnzGq2G7ozdUypDlGGpcFsTRYHEc

# Override the 'version' if this is a GH-tag-commit -or- this is a custom branch (i.e not 'master').
init:
- ps: |
if ($env:APPVEYOR_REPO_TAG -eq $TRUE -and $env:APPVEYOR_REPO_BRANCH -eq 'master')
{
Write-Host " !! Commit is Tagged and branch is 'master' - forcing build version to tag-value." -ForegroundColor Red;
Update-AppveyorBuild -Version "$env:APPVEYOR_REPO_TAG_NAME"
}
iex ((new-object net.webclient).DownloadString('https://gist.githubusercontent.com/PureKrome/0f79e25693d574807939/raw/f5b40256fc2ca77d49f1c7773d28406152544c1e/appveyor-build-info.ps'))
before_build:
# Display .NET Core version
- cmd: dotnet --info
# Display minimal restore text
- cmd: dotnet restore --verbosity quiet

build_script:
- dotnet build -c %CONFIGURATION% -v minimal /p:Version=%APPVEYOR_BUILD_VERSION% --no-restore

test_script:
- dotnet test tests\Yahoo.Yui.Compressor.MsBuild.Tests -c %CONFIGURATION% -v minimal --no-restore --no-build
- dotnet pack -c %CONFIGURATION% /p:Version=%APPVEYOR_BUILD_VERSION% --no-restore --no-build

artifacts:
- path: '**\*.nupkg'
name: packaged-nugets
type: NuGetPackage

deploy:
- provider: NuGet
server: https://www.myget.org/F/pk-development/api/v2/package
api_key:
secure: AguzfXNvHBkkDebTyWHK7o9OC5YL3eszT6u7PnzGq2G7ozdUypDlGGpcFsTRYHEc
skip_symbols: true
artifact: packaged-nugets
on:
appveyor_repo_tag: false
- provider: NuGet
api_key:
secure: jfcUvHZhgnUboplqTBDWr8mG5PIlrgBv5TA2fhhop4ZSiDxskyy+RtYyeHoduJFR
skip_symbols: true
artifact: packaged-nugets
on:
branch: master
appveyor_repo_tag: true

cache:
- packages -> **\packages.config
9 changes: 9 additions & 0 deletions src/Yahoo.Yui.Compressor.MsBuild/ActionType.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace Yahoo.Yui.Compressor.MsBuild
{
public enum ActionType
{
Unknown,
Css,
JavaScript
}
}
60 changes: 60 additions & 0 deletions src/Yahoo.Yui.Compressor.MsBuild/CompressorTask.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

namespace Yahoo.Yui.Compressor.MsBuild
{
using System.Collections.Generic;

public abstract class CompressorTask : Task
{
protected readonly CompressorTaskEngine TaskEngine;

public string LoggingType { get; set; }

[Required]
public ITaskItem[] SourceFiles { get; set; }

[Required]
public string OutputFile { get; set; }

public string CompressionType { get; set; }

public string EncodingType { get; set; }

public bool DeleteSourceFiles { get; set; }

public int LineBreakPosition { get; set; }

protected CompressorTask(ICompressor compressor)
{
TaskEngine = new CompressorTaskEngine(new MsBuildLogAdapter(Log), compressor) { SetTaskEngineParameters = this.SetTaskEngineParameters };
DeleteSourceFiles = false;
LineBreakPosition = -1;
}

public override bool Execute()
{
return this.TaskEngine.Execute();
}

protected virtual void SetTaskEngineParameters()
{
this.TaskEngine.CompressionType = this.CompressionType;
this.TaskEngine.DeleteSourceFiles = this.DeleteSourceFiles;
this.TaskEngine.EncodingType = this.EncodingType;
this.TaskEngine.LineBreakPosition = this.LineBreakPosition;
this.TaskEngine.LoggingType = this.LoggingType;
this.TaskEngine.OutputFile = this.OutputFile;
var fileSpecs = new List<FileSpec>();
if (SourceFiles == null)
{
return;
}
foreach (var sourceFile in SourceFiles)
{
fileSpecs.Add(new FileSpec(sourceFile.ItemSpec, sourceFile.GetMetadata("CompressionType")));
}
this.TaskEngine.SourceFiles = fileSpecs.ToArray();
}
}
}
Loading

0 comments on commit ed85c30

Please sign in to comment.