New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/codegen ignore #2899

Merged
merged 1 commit into from May 19, 2016

Conversation

Projects
None yet
2 participants
@jimschubert
Contributor

jimschubert commented May 18, 2016

Looking for feedback and possibly additional testing on this.

Here's a test scenario:

  1. Remove samples/client/petstore/csharp/SwaggerClient
  2. Create samples/client/petstore/csharp/SwaggerClient
  3. Add the following to samples/client/petstore/csharp/SwaggerClient/.swagger-codegen-ignore
# Swagger Codegen Ignore

# This should match build.sh located anywhere.
# Should also work as /build.sh
build.sh

# Exclude all recursively
docs/**

# Explicitly allow files excluded by other rules
!docs/UserApi.md

# Test DirectoryRule
src/**/Api/

# This shouldn't be included because parent directory is excluded by previous rule.
!src/**/PetApiTests.cs

# Exclude a single, nested file
src/IO.Swagger.Test/Model/AnimalFarmTests.cs

  1. Verify:
    • build.sh not created
    • only docs/UserApi.md created under docs
    • src/IO.Swagger.Tests/Api/PetApiTests.cs not created under src/IO.Swagger.Tests/Api
    • src/IO.Swagger.Test/Model/AnimalFarmTests.cs not created

see issue #2105

@wing328 wing328 added this to the v2.2.0 milestone May 18, 2016

[feature] Support for .swagger-codegen-ignore
Adds a .swagger-codegen-ignore file with instructions and examples.
The .swagger-codegen-ignore file is treated as a supporting file.

Every project will generate a .swagger-codegen-ignore file containing
instructions and examples.

This also adds support for 'common' files (defaults like
.swagger-codegen-ignore). In the case of the ignore file, a generator
may include a compiled template ignore file which outputs to the
outputDir folder as .swagger-codegen-ignore and the default file
generation will honor the already generated file.

The rules for .swagger-codegen-ignore are a simple subset of what you'd
find in .gitignore or .dockerignore. It supports recursive matching
(**), simple matching (*), matching files in the project root
(/filename), matching against directories (dir/), negation rules
(!previously/excluded/**/file).
@jimschubert

This comment has been minimized.

Show comment
Hide comment
@jimschubert

jimschubert May 18, 2016

Contributor

@wing328 I've rebased against master to get rid of the conflicts (there were a few in DefaultGenerator.java).

A main question I have is whether I should add any tests to DefaultGeneratorTest to verify whether or not files get generated as intended. I didn't do this because I thought it might be overkill since it would tightly couple those tests to the folder structure created by a single generator.

Also, I didn't do anything with the existing skipOverwrite functionality.

Contributor

jimschubert commented May 18, 2016

@wing328 I've rebased against master to get rid of the conflicts (there were a few in DefaultGenerator.java).

A main question I have is whether I should add any tests to DefaultGeneratorTest to verify whether or not files get generated as intended. I didn't do this because I thought it might be overkill since it would tightly couple those tests to the folder structure created by a single generator.

Also, I didn't do anything with the existing skipOverwrite functionality.

@wing328 wing328 merged commit 624e8ae into swagger-api:master May 19, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@jimschubert jimschubert referenced this pull request May 23, 2016

Closed

Exclude model tests? #2506

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment