Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c2ac300f78 | |||
| 9461782428 | |||
| 983499f4a0 | |||
| 182e22166a | |||
| 2ee7e26524 |
-150
@@ -1,150 +0,0 @@
|
||||
root = true
|
||||
# EditorConfig is awesome:http://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
|
||||
# Don't use tabs for indentation.
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Code files
|
||||
[*.{cs, csx, vb, vbx}]
|
||||
insert_final_newline = true
|
||||
charset = utf-8-bom
|
||||
|
||||
# ReSharper properties
|
||||
resharper_csharp_extra_spaces = leave_multiple
|
||||
resharper_csharp_naming_rule.private_constants = AaBb, AA_BB
|
||||
resharper_csharp_space_within_array_access_brackets = true
|
||||
resharper_space_around_arrow_op = true
|
||||
resharper_space_within_array_rank_brackets = true
|
||||
resharper_use_indent_from_vs = false
|
||||
resharper_xml_attribute_style = first_attribute_on_single_line
|
||||
resharper_xml_pi_attribute_style = first_attribute_on_single_line
|
||||
|
||||
# Dotnet code style settings:
|
||||
[*.{cs, vb}]
|
||||
# Sort using and Import directives with System.* appearing first
|
||||
dotnet_sort_system_directives_first = true
|
||||
# Avoid "this." and "Me." if not necessary
|
||||
dotnet_style_qualification_for_field = false : suggestion
|
||||
dotnet_style_qualification_for_property = false : suggestion
|
||||
dotnet_style_qualification_for_method = false : suggestion
|
||||
dotnet_style_qualification_for_event = false : suggestion
|
||||
|
||||
# Use language keywords instead of framework type names for type references
|
||||
dotnet_style_predefined_type_for_locals_parameters_members = true : suggestion
|
||||
dotnet_style_predefined_type_for_member_access = true : suggestion
|
||||
|
||||
# Suggest more modern language features when available
|
||||
dotnet_style_object_initializer = true:suggestion
|
||||
dotnet_style_collection_initializer = true:suggestion
|
||||
dotnet_style_coalesce_expression = true:suggestion
|
||||
dotnet_style_null_propagation = true:suggestion
|
||||
dotnet_style_explicit_tuple_names = true:suggestion
|
||||
|
||||
# CSharp code style settings:
|
||||
[*.cs]
|
||||
# Prefer "var" everywhere
|
||||
csharp_style_var_for_built_in_types = true : suggestion
|
||||
csharp_style_var_when_type_is_apparent = true : suggestion
|
||||
csharp_style_var_elsewhere = true : suggestion
|
||||
|
||||
# Prefer method-like constructs to have a block body
|
||||
csharp_style_expression_bodied_methods = false:none
|
||||
csharp_style_expression_bodied_constructors = false:none
|
||||
csharp_style_expression_bodied_operators = false:none
|
||||
|
||||
# Prefer property-like constructs to have an expression-body
|
||||
csharp_style_expression_bodied_properties = true:none
|
||||
csharp_style_expression_bodied_indexers = true:none
|
||||
csharp_style_expression_bodied_accessors = true:none
|
||||
|
||||
# Suggest more modern language features when available
|
||||
csharp_style_pattern_matching_over_is_with_cast_check = true : suggestion
|
||||
csharp_style_pattern_matching_over_as_with_null_check = true : suggestion
|
||||
csharp_style_inlined_variable_declaration = true : suggestion
|
||||
csharp_style_throw_expression = true:suggestion
|
||||
csharp_style_conditional_delegate_call = true : suggestion
|
||||
|
||||
# Newline settings
|
||||
csharp_new_line_before_open_brace = all
|
||||
csharp_new_line_before_else = true
|
||||
csharp_new_line_before_catch = true
|
||||
csharp_new_line_before_finally = true
|
||||
csharp_new_line_before_members_in_object_initializers = true
|
||||
csharp_new_line_before_members_in_anonymous_types = true
|
||||
|
||||
spaces_around_brackets = inside
|
||||
csharp_using_directive_placement = outside_namespace:silent
|
||||
csharp_prefer_simple_using_statement = true:suggestion
|
||||
csharp_prefer_braces = true:silent
|
||||
csharp_style_namespace_declarations = block_scoped:silent
|
||||
csharp_style_prefer_method_group_conversion = true:silent
|
||||
csharp_style_prefer_top_level_statements = true:silent
|
||||
csharp_style_expression_bodied_lambdas = true:silent
|
||||
csharp_style_expression_bodied_local_functions = false:silent
|
||||
csharp_style_prefer_null_check_over_type_check = true:suggestion
|
||||
csharp_indent_labels = one_less_than_current
|
||||
|
||||
[*.{cs,vb}]
|
||||
#### Naming styles ####
|
||||
|
||||
# Naming rules
|
||||
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
|
||||
|
||||
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
|
||||
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
|
||||
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
|
||||
|
||||
# Symbol specifications
|
||||
|
||||
dotnet_naming_symbols.interface.applicable_kinds = interface
|
||||
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.interface.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
|
||||
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.types.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
|
||||
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.non_field_members.required_modifiers =
|
||||
|
||||
# Naming styles
|
||||
|
||||
dotnet_naming_style.begins_with_i.required_prefix = I
|
||||
dotnet_naming_style.begins_with_i.required_suffix =
|
||||
dotnet_naming_style.begins_with_i.word_separator =
|
||||
dotnet_naming_style.begins_with_i.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.pascal_case.required_prefix =
|
||||
dotnet_naming_style.pascal_case.required_suffix =
|
||||
dotnet_naming_style.pascal_case.word_separator =
|
||||
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.pascal_case.required_prefix =
|
||||
dotnet_naming_style.pascal_case.required_suffix =
|
||||
dotnet_naming_style.pascal_case.word_separator =
|
||||
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
||||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
|
||||
dotnet_style_prefer_auto_properties = true:silent
|
||||
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
|
||||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
|
||||
dotnet_style_prefer_conditional_expression_over_return = true:silent
|
||||
dotnet_style_prefer_inferred_tuple_names = true:suggestion
|
||||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
|
||||
dotnet_style_prefer_compound_assignment = true:suggestion
|
||||
dotnet_style_prefer_simplified_interpolation = true:suggestion
|
||||
dotnet_style_namespace_match_folder = true:suggestion
|
||||
dotnet_style_operator_placement_when_wrapping = beginning_of_line
|
||||
tab_width = 2
|
||||
end_of_line = crlf
|
||||
@@ -0,0 +1,77 @@
|
||||
name: Update issue Status
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [closed]
|
||||
|
||||
jobs:
|
||||
update_issue:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get project data
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.GHPROJECT_TOKEN}}
|
||||
ORGANIZATION: specklesystems
|
||||
PROJECT_NUMBER: 9
|
||||
run: |
|
||||
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
|
||||
query($org: String!, $number: Int!) {
|
||||
organization(login: $org){
|
||||
projectNext(number: $number) {
|
||||
id
|
||||
fields(first:20) {
|
||||
nodes {
|
||||
id
|
||||
name
|
||||
settings
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json
|
||||
|
||||
echo 'PROJECT_ID='$(jq '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV
|
||||
|
||||
echo "$PROJECT_ID"
|
||||
echo "$STATUS_FIELD_ID"
|
||||
|
||||
echo 'DONE_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") | .settings | fromjson | .options[] | select(.name== "Done") | .id' project_data.json) >> $GITHUB_ENV
|
||||
echo "$DONE_ID"
|
||||
|
||||
- name: Add Issue to project #it's already in the project, but we do this to get its node id!
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.GHPROJECT_TOKEN}}
|
||||
ISSUE_ID: ${{ github.event.issue.node_id }}
|
||||
run: |
|
||||
item_id="$( gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
|
||||
mutation($project:ID!, $id:ID!) {
|
||||
addProjectNextItem(input: {projectId: $project, contentId: $id}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project=$PROJECT_ID -f id=$ISSUE_ID --jq '.data.addProjectNextItem.projectNextItem.id')"
|
||||
|
||||
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
|
||||
|
||||
- name: Update Status
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.GHPROJECT_TOKEN}}
|
||||
ISSUE_ID: ${{ github.event.issue.node_id }}
|
||||
run: |
|
||||
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
|
||||
mutation($project:ID!, $status:ID!, $id:ID!, $value:String!) {
|
||||
set_status: updateProjectNextItemField(
|
||||
input: {
|
||||
projectId: $project
|
||||
itemId: $id
|
||||
fieldId: $status
|
||||
value: $value
|
||||
}
|
||||
) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project=$PROJECT_ID -f status=$STATUS_FIELD_ID -f id=$ITEM_ID -f value=${{ env.DONE_ID }}
|
||||
@@ -1,45 +0,0 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
configuration: [ Release]
|
||||
|
||||
runs-on: windows-latest # For a list of available runner types, refer to
|
||||
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
|
||||
|
||||
env:
|
||||
Solution_Name: xUnitRevit.sln
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
submodules: true
|
||||
|
||||
# Install the .NET Core workload
|
||||
- name: Install .NET Core
|
||||
uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
|
||||
- name: Setup MSBuild.exe
|
||||
uses: microsoft/setup-msbuild@v1.3.1
|
||||
|
||||
# Restore the application to populate the obj folder with RuntimeIdentifiers
|
||||
- name: Restore the application
|
||||
run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration
|
||||
env:
|
||||
Configuration: ${{ matrix.configuration }}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
name: Move new issues into Project
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
track_issue:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get project data
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.GHPROJECT_TOKEN}}
|
||||
ORGANIZATION: specklesystems
|
||||
PROJECT_NUMBER: 9
|
||||
run: |
|
||||
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
|
||||
query($org: String!, $number: Int!) {
|
||||
organization(login: $org){
|
||||
projectNext(number: $number) {
|
||||
id
|
||||
fields(first:20) {
|
||||
nodes {
|
||||
id
|
||||
name
|
||||
settings
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}' -f org=$ORGANIZATION -F number=$PROJECT_NUMBER > project_data.json
|
||||
|
||||
echo 'PROJECT_ID='$(jq '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_FIELD_ID='$(jq '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") | .id' project_data.json) >> $GITHUB_ENV
|
||||
|
||||
- name: Add Issue to project
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.GHPROJECT_TOKEN}}
|
||||
ISSUE_ID: ${{ github.event.issue.node_id }}
|
||||
run: |
|
||||
item_id="$( gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
|
||||
mutation($project:ID!, $id:ID!) {
|
||||
addProjectNextItem(input: {projectId: $project, contentId: $id}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project=$PROJECT_ID -f id=$ISSUE_ID --jq '.data.addProjectNextItem.projectNextItem.id')"
|
||||
|
||||
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
|
||||
@@ -1,37 +0,0 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*.*.*'
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
|
||||
runs-on: windows-latest # For a list of available runner types, refer to
|
||||
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
|
||||
|
||||
env:
|
||||
Solution_Name: xUnitRevit.sln
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
# Install the .NET Core workload
|
||||
- name: Install .NET Core
|
||||
uses: actions/setup-dotnet@v3
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
|
||||
- name: Build
|
||||
run: dotnet publish .\xUnitRevitUtils.sln -c Release -p:Version=${{ github.ref_name }}"
|
||||
|
||||
- name: Publish
|
||||
run: dotnet nuget push ".\artifacts\*.nupkg" -s https://api.nuget.org/v3/index.json -k ${{ secrets.NUGET_APIKEY }} -n --skip-duplicate
|
||||
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[submodule "speckle.xunit.runner.wpf"]
|
||||
path = speckle.xunit.runner.wpf
|
||||
url = git@github.com:specklesystems/speckle.xunit.runner.wpf.git
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Autodesk.Revit.DB;
|
||||
using xUnitRevitUtils;
|
||||
|
||||
namespace SampleLibrary
|
||||
{
|
||||
public sealed class DocFixture : IDisposable
|
||||
{
|
||||
public Document Doc { get; set; }
|
||||
public IList<Element> Walls { get; set; }
|
||||
|
||||
|
||||
public DocFixture()
|
||||
{
|
||||
var testModel = Utils.GetTestModel("walls.rvt");
|
||||
Doc = xru.OpenDoc(testModel);
|
||||
|
||||
Walls = new FilteredElementCollector(Doc).WhereElementIsNotElementType().OfCategory(BuiltInCategory.OST_Walls).ToElements();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
|
||||
@@ -1,89 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>SampleLibrary</RootNamespace>
|
||||
<AssemblyName>SampleLibrary</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<TargetFrameworkProfile />
|
||||
<LangVersion>8.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug2023|AnyCPU' Or '$(Configuration)|$(Platform)' == 'Debug2022|AnyCPU' Or '$(Configuration)|$(Platform)' == 'Debug2021|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE,post2021</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug2019|AnyCPU' Or '$(Configuration)|$(Platform)' == 'Debug2020|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE,pre2021</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="RevitAPIIFC">
|
||||
<HintPath>.\RevitAPIIFC.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DocFixture.cs" />
|
||||
<Compile Include="SampleTest.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="TestWithFixture.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.Revit.API">
|
||||
<Version>2023.0.0</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\xUnitRevitUtils\xUnitRevitUtils2023\xUnitRevitUtils2023.csproj">
|
||||
<Project>{637136c9-ab5d-4f00-948e-c68fae2682d0}</Project>
|
||||
<Name>xUnitRevitUtils2023</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\xunit.core.2.4.1\build\xunit.core.props" Condition="Exists('..\packages\xunit.core.2.4.1\build\xunit.core.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>SampleLibrary</RootNamespace>
|
||||
<AssemblyName>SampleLibrary</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug2023|AnyCPU' Or '$(Configuration)|$(Platform)' == 'Debug2022|AnyCPU' Or '$(Configuration)|$(Platform)' == 'Debug2021|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE,post2021</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug2019|AnyCPU' Or '$(Configuration)|$(Platform)' == 'Debug2020|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE,pre2021</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="AdWindows, Version=3.0.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ModPlus.Revit.API.2021.1.0.0\lib\AdWindows.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="RevitAPI, Version=21.0.0.0, Culture=neutral, processorArchitecture=AMD64">
|
||||
<HintPath>..\packages\ModPlus.Revit.API.2021.1.0.0\lib\RevitAPI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="RevitAPIIFC, Version=21.0.0.0, Culture=neutral, processorArchitecture=AMD64">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>.\RevitAPIIFC.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="RevitAPIUI, Version=21.0.0.0, Culture=neutral, processorArchitecture=AMD64">
|
||||
<HintPath>..\packages\ModPlus.Revit.API.2021.1.0.0\lib\RevitAPIUI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="xunit.abstractions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\xunit.abstractions.2.0.3\lib\net35\xunit.abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="xunit.assert, Version=2.4.1.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\xunit.assert.2.4.1\lib\netstandard1.1\xunit.assert.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="xunit.core, Version=2.4.1.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\xunit.extensibility.core.2.4.1\lib\net452\xunit.core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="xunit.execution.desktop, Version=2.4.1.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\xunit.extensibility.execution.2.4.1\lib\net452\xunit.execution.desktop.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="SampleTest.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="TestWithFixture.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Analyzer Include="..\packages\xunit.analyzers.0.10.0\analyzers\dotnet\cs\xunit.analyzers.dll" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\xUnitRevitUtils2021\xUnitRevitUtils2021.csproj">
|
||||
<Project>{977e0b63-5706-4c2b-9c01-3c02d9ebe377}</Project>
|
||||
<Name>xUnitRevitUtils2021</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\xunit.core.2.4.1\build\xunit.core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.4.1\build\xunit.core.props'))" />
|
||||
<Error Condition="!Exists('..\packages\xunit.core.2.4.1\build\xunit.core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\xunit.core.2.4.1\build\xunit.core.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\xunit.core.2.4.1\build\xunit.core.targets" Condition="Exists('..\packages\xunit.core.2.4.1\build\xunit.core.targets')" />
|
||||
</Project>
|
||||
+74
-66
@@ -1,66 +1,74 @@
|
||||
using System.Linq;
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.DB.IFC;
|
||||
using Xunit;
|
||||
using xUnitRevitUtils;
|
||||
|
||||
namespace SampleLibrary
|
||||
{
|
||||
public class SampleTest
|
||||
{
|
||||
/// <summary>
|
||||
/// Checks whether all walls in the model have a valid volume
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void WallsHaveVolume()
|
||||
{
|
||||
var testModel = Utils.GetTestModel("walls.rvt");
|
||||
using var doc = xru.OpenDoc(testModel);
|
||||
|
||||
var walls = new FilteredElementCollector(doc).WhereElementIsNotElementType().OfCategory(BuiltInCategory.OST_Walls).ToElements();
|
||||
|
||||
foreach (var wall in walls)
|
||||
{
|
||||
using var volumeParam = wall.get_Parameter(BuiltInParameter.HOST_VOLUME_COMPUTED);
|
||||
Assert.NotNull(volumeParam);
|
||||
Assert.True(volumeParam.AsDouble() > 0);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SampleFail()
|
||||
{
|
||||
#if pre2021
|
||||
var feet = UnitUtils.ConvertToInternalUnits(3000, DisplayUnitType.DUT_MILLIMETERS);
|
||||
#else
|
||||
var feet = UnitUtils.ConvertToInternalUnits(3000, UnitTypeId.Feet);
|
||||
#endif
|
||||
Assert.Equal(5, feet);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetWallGrossAreaAndRollBack()
|
||||
{
|
||||
var testModel = Utils.GetTestModel("walls.rvt");
|
||||
using var doc = xru.OpenDoc(testModel);
|
||||
var walls = new FilteredElementCollector(doc).WhereElementIsNotElementType().OfCategory(BuiltInCategory.OST_Walls).ToElements();
|
||||
var wall = walls[0] as Wall;
|
||||
double grossArea = 0;
|
||||
|
||||
var inserts = wall.FindInserts(true, true, true, true);
|
||||
xru.Run(() =>
|
||||
{
|
||||
using var transaction = new Transaction(doc, "Temporary - only to get gross area");
|
||||
transaction.Start();
|
||||
foreach (ElementId insertId in inserts) { doc.Delete(insertId); }
|
||||
doc.Regenerate();
|
||||
var wallFaceReference = HostObjectUtils.GetSideFaces(wall, ShellLayerType.Exterior);
|
||||
using var face = doc.GetElement(wallFaceReference[0]).GetGeometryObjectFromReference(wallFaceReference[0]) as PlanarFace;
|
||||
var wallFaceEdges = face.GetEdgesAsCurveLoops();
|
||||
grossArea = ExporterIFCUtils.ComputeAreaOfCurveLoops(wallFaceEdges);
|
||||
transaction.RollBack();
|
||||
}, doc).Wait();
|
||||
Assert.True(grossArea > 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.DB.IFC;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Xunit;
|
||||
using xUnitRevitUtils;
|
||||
|
||||
namespace SampleLibrary
|
||||
{
|
||||
public class SampleTest
|
||||
{
|
||||
/// <summary>
|
||||
/// Checks whether all walls in the model have a valid volume
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void WallsHaveVolume()
|
||||
{
|
||||
var testModel = Utils.GetTestModel("walls.rvt");
|
||||
var doc = xru.OpenDoc(testModel);
|
||||
|
||||
var walls = new FilteredElementCollector(doc).WhereElementIsNotElementType().OfCategory(BuiltInCategory.OST_Walls).ToElements();
|
||||
|
||||
foreach (var wall in walls)
|
||||
{
|
||||
var volumeParam = wall.get_Parameter(BuiltInParameter.HOST_VOLUME_COMPUTED);
|
||||
Assert.NotNull(volumeParam);
|
||||
Assert.True(volumeParam.AsDouble() > 0);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SampleFail()
|
||||
{
|
||||
#if pre2021
|
||||
var feet = UnitUtils.ConvertToInternalUnits(3000, DisplayUnitType.DUT_MILLIMETERS);
|
||||
#else
|
||||
var feet = UnitUtils.ConvertToInternalUnits(3000, UnitTypeId.Feet);
|
||||
#endif
|
||||
Assert.Equal(5, feet);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetWallGrossAreaAndRollBack()
|
||||
{
|
||||
var testModel = Utils.GetTestModel("walls.rvt");
|
||||
var doc = xru.OpenDoc(testModel);
|
||||
var walls = new FilteredElementCollector(doc).WhereElementIsNotElementType().OfCategory(BuiltInCategory.OST_Walls).ToElements();
|
||||
var wall = walls[0] as Wall;
|
||||
double grossArea = 0;
|
||||
|
||||
var inserts = wall.FindInserts(true, true, true, true);
|
||||
xru.Run(() =>
|
||||
{
|
||||
using (Transaction transaction = new Transaction(doc, "Temporary - only to get gross area"))
|
||||
{
|
||||
transaction.Start();
|
||||
foreach (ElementId insertId in inserts) { doc.Delete(insertId); }
|
||||
doc.Regenerate();
|
||||
var wallFaceReference = HostObjectUtils.GetSideFaces(wall, ShellLayerType.Exterior);
|
||||
var face = doc.GetElement(wallFaceReference.First()).GetGeometryObjectFromReference(wallFaceReference.First()) as PlanarFace;
|
||||
var wallFaceEdges = face.GetEdgesAsCurveLoops();
|
||||
grossArea = ExporterIFCUtils.ComputeAreaOfCurveLoops(wallFaceEdges);
|
||||
transaction.RollBack();
|
||||
}
|
||||
}, doc).Wait();
|
||||
Assert.True(grossArea > 0);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,70 +1,93 @@
|
||||
using System.Linq;
|
||||
using Autodesk.Revit.DB;
|
||||
using Xunit;
|
||||
using xUnitRevitUtils;
|
||||
|
||||
namespace SampleLibrary
|
||||
{
|
||||
public class TestWithFixture : IClassFixture<DocFixture>
|
||||
{
|
||||
DocFixture fixture;
|
||||
public TestWithFixture(DocFixture fixture)
|
||||
{
|
||||
this.fixture = fixture;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CountWalls()
|
||||
{
|
||||
Assert.Equal(4, fixture.Walls.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void WallOffset()
|
||||
{
|
||||
using var wall = fixture.Doc.GetElement(new ElementId(346573));
|
||||
using var param = wall.get_Parameter(BuiltInParameter.WALL_BASE_OFFSET);
|
||||
|
||||
#if pre2021
|
||||
var baseOffset = UnitUtils.ConvertFromInternalUnits(param.AsDouble(), param.DisplayUnitType);
|
||||
#else
|
||||
var baseOffset = UnitUtils.ConvertFromInternalUnits(param.AsDouble(), param.GetUnitTypeId());
|
||||
#endif
|
||||
|
||||
Assert.Equal(2000, baseOffset);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void MoveWallsUp()
|
||||
{
|
||||
var walls = fixture.Walls.Where(x => x.Id.IntegerValue != 346573);
|
||||
|
||||
xru.RunInTransaction(() =>
|
||||
{
|
||||
foreach (var wall in walls)
|
||||
{
|
||||
var param = wall.get_Parameter(BuiltInParameter.WALL_BASE_OFFSET);
|
||||
|
||||
#if pre2021
|
||||
var baseOffset = UnitUtils.ConvertToInternalUnits(2000, param.DisplayUnitType);
|
||||
#else
|
||||
var baseOffset = UnitUtils.ConvertToInternalUnits(2000, param.GetUnitTypeId());
|
||||
#endif
|
||||
param.Set(baseOffset);
|
||||
}
|
||||
}, fixture.Doc)
|
||||
.Wait(); // Important! Wait for action to finish
|
||||
|
||||
foreach (var wall in walls)
|
||||
{
|
||||
using var param = wall.get_Parameter(BuiltInParameter.WALL_BASE_OFFSET);
|
||||
#if pre2021
|
||||
var baseOffset = UnitUtils.ConvertFromInternalUnits(param.AsDouble(), param.DisplayUnitType);
|
||||
#else
|
||||
var baseOffset = UnitUtils.ConvertFromInternalUnits(param.AsDouble(), param.GetUnitTypeId());
|
||||
#endif
|
||||
Assert.Equal(2000, baseOffset);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
using Autodesk.Revit.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
using xUnitRevitUtils;
|
||||
|
||||
namespace SampleLibrary
|
||||
{
|
||||
public class DocFixture : IDisposable
|
||||
{
|
||||
public Document Doc { get; set; }
|
||||
public IList<Element> Walls { get; set; }
|
||||
|
||||
|
||||
public DocFixture()
|
||||
{
|
||||
var testModel = Utils.GetTestModel("walls.rvt");
|
||||
Doc = xru.OpenDoc(testModel);
|
||||
|
||||
Walls = new FilteredElementCollector(Doc).WhereElementIsNotElementType().OfCategory(BuiltInCategory.OST_Walls).ToElements();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
}
|
||||
public class TestWithFixture : IClassFixture<DocFixture>
|
||||
{
|
||||
DocFixture fixture;
|
||||
public TestWithFixture(DocFixture fixture)
|
||||
{
|
||||
this.fixture = fixture;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CountWalls()
|
||||
{
|
||||
Assert.Equal(4, fixture.Walls.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void WallOffset()
|
||||
{
|
||||
var wall = fixture.Doc.GetElement(new ElementId(346573));
|
||||
var param = wall.get_Parameter(BuiltInParameter.WALL_BASE_OFFSET);
|
||||
|
||||
#if pre2021
|
||||
var baseOffset = UnitUtils.ConvertFromInternalUnits(param.AsDouble(), param.DisplayUnitType);
|
||||
#else
|
||||
var baseOffset = UnitUtils.ConvertFromInternalUnits(param.AsDouble(), param.GetUnitTypeId());
|
||||
#endif
|
||||
|
||||
Assert.Equal(2000, baseOffset);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void MoveWallsUp()
|
||||
{
|
||||
var walls = fixture.Walls.Where(x => x.Id.IntegerValue != 346573);
|
||||
|
||||
xru.RunInTransaction(() =>
|
||||
{
|
||||
foreach(var wall in walls)
|
||||
{
|
||||
var param = wall.get_Parameter(BuiltInParameter.WALL_BASE_OFFSET);
|
||||
|
||||
#if pre2021
|
||||
var baseOffset = UnitUtils.ConvertToInternalUnits(2000, param.DisplayUnitType);
|
||||
#else
|
||||
var baseOffset = UnitUtils.ConvertToInternalUnits(2000, param.GetUnitTypeId());
|
||||
#endif
|
||||
param.Set(baseOffset);
|
||||
}
|
||||
}, fixture.Doc)
|
||||
.Wait(); // Important! Wait for action to finish
|
||||
|
||||
foreach (var wall in walls)
|
||||
{
|
||||
var param = wall.get_Parameter(BuiltInParameter.WALL_BASE_OFFSET);
|
||||
#if pre2021
|
||||
var baseOffset = UnitUtils.ConvertFromInternalUnits(param.AsDouble(), param.DisplayUnitType);
|
||||
#else
|
||||
var baseOffset = UnitUtils.ConvertFromInternalUnits(param.AsDouble(), param.GetUnitTypeId());
|
||||
#endif
|
||||
Assert.Equal(2000, baseOffset);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+24
-19
@@ -1,19 +1,24 @@
|
||||
using System.IO;
|
||||
|
||||
namespace SampleLibrary
|
||||
{
|
||||
public static class Utils
|
||||
{
|
||||
/// <summary>
|
||||
/// Utility method to get models from local folder rather than an absolute path
|
||||
/// </summary>
|
||||
/// <param name="filename"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetTestModel(string filename)
|
||||
{
|
||||
var path = Path.Combine(Directory.GetCurrentDirectory(), "..", "..", "TestModels", filename);
|
||||
return path;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SampleLibrary
|
||||
{
|
||||
public static class Utils
|
||||
{
|
||||
/// <summary>
|
||||
/// Utility method to get models from local folder rather than an absolute path
|
||||
/// </summary>
|
||||
/// <param name="filename"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetTestModel(string filename)
|
||||
{
|
||||
var path = Path.Combine(Directory.GetCurrentDirectory(), "..", "..", "TestModels", filename);
|
||||
return path;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="ModPlus.Revit.API.2021" version="1.0.0" targetFramework="net472" />
|
||||
<package id="xunit" version="2.4.1" targetFramework="net472" />
|
||||
<package id="xunit.abstractions" version="2.0.3" targetFramework="net472" />
|
||||
<package id="xunit.analyzers" version="0.10.0" targetFramework="net472" />
|
||||
<package id="xunit.assert" version="2.4.1" targetFramework="net472" />
|
||||
<package id="xunit.core" version="2.4.1" targetFramework="net472" />
|
||||
<package id="xunit.extensibility.core" version="2.4.1" targetFramework="net472" />
|
||||
<package id="xunit.extensibility.execution" version="2.4.1" targetFramework="net472" />
|
||||
<package id="xUnitRevitUtils.2021" version="1.0.1" targetFramework="net472" />
|
||||
</packages>
|
||||
@@ -0,0 +1,53 @@
|
||||
# .NET Desktop
|
||||
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
|
||||
# Add steps that publish symbols, save build artifacts, and more:
|
||||
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
|
||||
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- refs/tags/*
|
||||
|
||||
pool:
|
||||
vmImage: 'windows-latest'
|
||||
|
||||
variables:
|
||||
solution: '**/*.sln'
|
||||
buildPlatform: 'Any CPU'
|
||||
buildConfiguration: 'Release'
|
||||
|
||||
steps:
|
||||
- task: NuGetToolInstaller@1
|
||||
|
||||
- task: NuGetCommand@2
|
||||
inputs:
|
||||
restoreSolution: '$(solution)'
|
||||
|
||||
- task: VSBuild@1
|
||||
inputs:
|
||||
solution: '$(solution)'
|
||||
platform: '$(buildPlatform)'
|
||||
configuration: '$(buildConfiguration)'
|
||||
|
||||
# - task: VSTest@2
|
||||
# inputs:
|
||||
# platform: '$(buildPlatform)'
|
||||
# configuration: '$(buildConfiguration)'
|
||||
|
||||
- task: NuGetCommand@2
|
||||
inputs:
|
||||
command: 'pack'
|
||||
packagesToPack: '**/xUnitRevitUtils*.csproj'
|
||||
versioningScheme: 'off'
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||
ArtifactName: 'artifact'
|
||||
publishLocation: 'Container'
|
||||
|
||||
- powershell: |
|
||||
If ($env:BRANCH.StartsWith('refs/tags/')) { nuget push -ApiKey $env:APIKEY -Source https://api.nuget.org/v3/index.json $(Build.ArtifactStagingDirectory)/**/*.nupkg }
|
||||
env:
|
||||
APIKEY: $(nuget-apikey)
|
||||
BRANCH: $(Build.SourceBranch)
|
||||
Submodule speckle.xunit.runner.wpf deleted from 0eeef52d51
+271
-127
@@ -1,127 +1,271 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.2.32630.192
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleLibrary", "SampleLibrary\SampleLibrary.csproj", "{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionItems", "{F5A2849D-7C58-4894-B9C5-8488E244B7CF}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "xUnitRevitUtils", "xUnitRevitUtils", "{EDC05463-E574-4FF0-8518-D93D70EC138C}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
xUnitRevitUtils\Directory.Build.props = xUnitRevitUtils\Directory.Build.props
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2023", "xUnitRevitUtils\xUnitRevitUtils2023\xUnitRevitUtils2023.csproj", "{637136C9-AB5D-4F00-948E-C68FAE2682D0}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2022", "xUnitRevitUtils\xUnitRevitUtils2022\xUnitRevitUtils2022.csproj", "{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2021", "xUnitRevitUtils\xUnitRevitUtils2021\xUnitRevitUtils2021.csproj", "{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2020", "xUnitRevitUtils\xUnitRevitUtils2020\xUnitRevitUtils2020.csproj", "{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2019", "xUnitRevitUtils\xUnitRevitUtils2019\xUnitRevitUtils2019.csproj", "{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "speckle.xunit.runner.wpf", "speckle.xunit.runner.wpf\speckle.xunit.runner.wpf\speckle.xunit.runner.wpf.csproj", "{B6404BAD-9314-45F9-9F4D-A644D986FC37}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extra", "Extra", "{B01105F5-963D-42C3-BFA7-2D26AC375D07}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "xUnitRevitRunner", "xUnitRevitRunner", "{CF685C5E-70E1-40C5-BCFD-1E27695F0364}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
xUnitRevitRunner\Directory.Build.props = xUnitRevitRunner\Directory.Build.props
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "xUnitRevitRunnerShared", "xUnitRevitRunner\xUnitRevitRunnerShared\xUnitRevitRunnerShared.shproj", "{2B4F4767-CF26-485B-ADB3-751250EB1CDB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitRunner2019", "xUnitRevitRunner\xUnitRevitRunner2019\xUnitRevitRunner2019.csproj", "{E3A15534-FB02-4CE2-8126-22E60EB1922E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitRunner2020", "xUnitRevitRunner\xUnitRevitRunner2020\xUnitRevitRunner2020.csproj", "{3782DB94-2F99-4449-B727-D5E4172964AD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitRunner2021", "xUnitRevitRunner\xUnitRevitRunner2021\xUnitRevitRunner2021.csproj", "{66615756-3C3F-4A46-9C00-D6BA2493B6FA}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitRunner2022", "xUnitRevitRunner\xUnitRevitRunner2022\xUnitRevitRunner2022.csproj", "{72816F5F-F86C-4A84-A4BB-9C05F2CD5320}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitRunner2023", "xUnitRevitRunner\xUnitRevitRunner2023\xUnitRevitRunner2023.csproj", "{97D93392-9484-484F-9F5F-60C5F3D67045}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B6404BAD-9314-45F9-9F4D-A644D986FC37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B6404BAD-9314-45F9-9F4D-A644D986FC37}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B6404BAD-9314-45F9-9F4D-A644D986FC37}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B6404BAD-9314-45F9-9F4D-A644D986FC37}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2B4F4767-CF26-485B-ADB3-751250EB1CDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2B4F4767-CF26-485B-ADB3-751250EB1CDB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E3A15534-FB02-4CE2-8126-22E60EB1922E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E3A15534-FB02-4CE2-8126-22E60EB1922E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E3A15534-FB02-4CE2-8126-22E60EB1922E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E3A15534-FB02-4CE2-8126-22E60EB1922E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3782DB94-2F99-4449-B727-D5E4172964AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3782DB94-2F99-4449-B727-D5E4172964AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3782DB94-2F99-4449-B727-D5E4172964AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3782DB94-2F99-4449-B727-D5E4172964AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{66615756-3C3F-4A46-9C00-D6BA2493B6FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{66615756-3C3F-4A46-9C00-D6BA2493B6FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{66615756-3C3F-4A46-9C00-D6BA2493B6FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{66615756-3C3F-4A46-9C00-D6BA2493B6FA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{72816F5F-F86C-4A84-A4BB-9C05F2CD5320}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{72816F5F-F86C-4A84-A4BB-9C05F2CD5320}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{72816F5F-F86C-4A84-A4BB-9C05F2CD5320}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{72816F5F-F86C-4A84-A4BB-9C05F2CD5320}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{97D93392-9484-484F-9F5F-60C5F3D67045}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{97D93392-9484-484F-9F5F-60C5F3D67045}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{97D93392-9484-484F-9F5F-60C5F3D67045}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{97D93392-9484-484F-9F5F-60C5F3D67045}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35} = {B01105F5-963D-42C3-BFA7-2D26AC375D07}
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0} = {EDC05463-E574-4FF0-8518-D93D70EC138C}
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E} = {EDC05463-E574-4FF0-8518-D93D70EC138C}
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E} = {EDC05463-E574-4FF0-8518-D93D70EC138C}
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8} = {EDC05463-E574-4FF0-8518-D93D70EC138C}
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA} = {EDC05463-E574-4FF0-8518-D93D70EC138C}
|
||||
{B6404BAD-9314-45F9-9F4D-A644D986FC37} = {B01105F5-963D-42C3-BFA7-2D26AC375D07}
|
||||
{2B4F4767-CF26-485B-ADB3-751250EB1CDB} = {CF685C5E-70E1-40C5-BCFD-1E27695F0364}
|
||||
{E3A15534-FB02-4CE2-8126-22E60EB1922E} = {CF685C5E-70E1-40C5-BCFD-1E27695F0364}
|
||||
{3782DB94-2F99-4449-B727-D5E4172964AD} = {CF685C5E-70E1-40C5-BCFD-1E27695F0364}
|
||||
{66615756-3C3F-4A46-9C00-D6BA2493B6FA} = {CF685C5E-70E1-40C5-BCFD-1E27695F0364}
|
||||
{72816F5F-F86C-4A84-A4BB-9C05F2CD5320} = {CF685C5E-70E1-40C5-BCFD-1E27695F0364}
|
||||
{97D93392-9484-484F-9F5F-60C5F3D67045} = {CF685C5E-70E1-40C5-BCFD-1E27695F0364}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {1CD726E4-6BBA-4FC3-9C57-0981EF1A9475}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.2.32630.192
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2021", "xUnitRevitUtils2021\xUnitRevitUtils2021.csproj", "{977E0B63-5706-4C2B-9C01-3C02D9EBE377}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2020", "xUnitRevitUtils2020\xUnitRevitUtils2020.csproj", "{0DEF0F23-8AE2-461B-B014-8A0DA7494088}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2019", "xUnitRevitUtils2019\xUnitRevitUtils2019.csproj", "{02399359-9CA0-4B47-B467-541E290E700F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleLibrary", "SampleLibrary\SampleLibrary.csproj", "{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2023", "xUnitRevitUtils2023\xUnitRevitUtils2023.csproj", "{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2022", "xUnitRevitUtils2022\xUnitRevitUtils2022.csproj", "{78770414-4F6B-4429-BD8F-F0F64A349551}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "xUnitRevitShared", "xUnitRevitShared\xUnitRevitShared.shproj", "{48829151-F9BE-4237-B506-B29F71A361E7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xUnitRevit2021", "xUnitRevit2021\xUnitRevit2021.csproj", "{CBC76044-BB09-4C2A-9392-89343F4DAE6A}"
|
||||
EndProject
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "xUnitRevitUtilsShared", "xUnitRevitUtilsShared\xUnitRevitUtilsShared.shproj", "{AB8A5ECF-F8E1-4D5C-A488-2A38AB6B4B44}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xUnitRevit2023", "xUnitRevit2023\xUnitRevit2023.csproj", "{C887776C-F153-4093-8837-35D72422B846}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xUnitRevit2022", "xUnitRevit2022\xUnitRevit2022.csproj", "{F7CE564D-E468-44E1-AF57-3B8F37629E25}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xUnitRevit2020", "xUnitRevit2020\xUnitRevit2020.csproj", "{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug2019|Any CPU = Debug2019|Any CPU
|
||||
Debug2020|Any CPU = Debug2020|Any CPU
|
||||
Debug2021|Any CPU = Debug2021|Any CPU
|
||||
Debug2022|Any CPU = Debug2022|Any CPU
|
||||
Debug2023|Any CPU = Debug2023|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release2019|Any CPU = Release2019|Any CPU
|
||||
Release2020|Any CPU = Release2020|Any CPU
|
||||
Release2021|Any CPU = Release2021|Any CPU
|
||||
Release2022|Any CPU = Release2022|Any CPU
|
||||
Release2023|Any CPU = Release2023|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug2021|Any CPU.Build.0 = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release2021|Any CPU.Build.0 = Release|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release2022|Any CPU.ActiveCfg = Release2022|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release2022|Any CPU.Build.0 = Release2022|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release2023|Any CPU.ActiveCfg = Release2023|Any CPU
|
||||
{977E0B63-5706-4C2B-9C01-3C02D9EBE377}.Release2023|Any CPU.Build.0 = Release2023|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug2020|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Release2020|Any CPU.Build.0 = Release|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Release2022|Any CPU.ActiveCfg = Release2022|Any CPU
|
||||
{0DEF0F23-8AE2-461B-B014-8A0DA7494088}.Release2023|Any CPU.ActiveCfg = Release2023|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug2019|Any CPU.Build.0 = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug2022|Any CPU.Build.0 = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Release2019|Any CPU.Build.0 = Release|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Release2022|Any CPU.ActiveCfg = Release2022|Any CPU
|
||||
{02399359-9CA0-4B47-B467-541E290E700F}.Release2023|Any CPU.ActiveCfg = Release2023|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2019|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2020|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2021|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2022|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2019|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2020|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2021|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2022|Any CPU.ActiveCfg = Release2022|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2022|Any CPU.Build.0 = Release2022|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2023|Any CPU.ActiveCfg = Release2023|Any CPU
|
||||
{C3A8684E-15BB-4B8B-B46C-35ACE3729C35}.Release2023|Any CPU.Build.0 = Release2023|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Release2022|Any CPU.ActiveCfg = Release2022|Any CPU
|
||||
{E0BF38C2-13BC-4ACC-B0F2-4DFE82965DB4}.Release2023|Any CPU.ActiveCfg = Release2023|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug2022|Any CPU.Build.0 = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Release2022|Any CPU.ActiveCfg = Release2022|Any CPU
|
||||
{78770414-4F6B-4429-BD8F-F0F64A349551}.Release2023|Any CPU.ActiveCfg = Release2023|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2019|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2020|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2021|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2022|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2019|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2020|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2021|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2022|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2022|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2023|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBC76044-BB09-4C2A-9392-89343F4DAE6A}.Release2023|Any CPU.Build.0 = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2019|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2020|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2021|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2022|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2019|Any CPU.Build.0 = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2020|Any CPU.Build.0 = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2021|Any CPU.Build.0 = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2022|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2022|Any CPU.Build.0 = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2023|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C887776C-F153-4093-8837-35D72422B846}.Release2023|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2019|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2020|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2021|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2022|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2019|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2020|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2021|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2022|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2022|Any CPU.Build.0 = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2023|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F7CE564D-E468-44E1-AF57-3B8F37629E25}.Release2023|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2019|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2019|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2020|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2020|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2021|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2021|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2022|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2022|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2023|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Debug2023|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2019|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2019|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2020|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2020|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2021|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2021|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2022|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2022|Any CPU.Build.0 = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2023|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}.Release2023|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {1CD726E4-6BBA-4FC3-9C57-0981EF1A9475}
|
||||
EndGlobalSection
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems*{02399359-9ca0-4b47-b467-541e290e700f}*SharedItemsImports = 5
|
||||
xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems*{0def0f23-8ae2-461b-b014-8a0da7494088}*SharedItemsImports = 5
|
||||
xUnitRevitShared\xUnitRevitShared.projitems*{48829151-f9be-4237-b506-b29f71a361e7}*SharedItemsImports = 13
|
||||
xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems*{78770414-4f6b-4429-bd8f-f0f64a349551}*SharedItemsImports = 5
|
||||
xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems*{977e0b63-5706-4c2b-9c01-3c02d9ebe377}*SharedItemsImports = 5
|
||||
xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems*{ab8a5ecf-f8e1-4d5c-a488-2a38ab6b4b44}*SharedItemsImports = 13
|
||||
xUnitRevitShared\xUnitRevitShared.projitems*{c3be785a-1ec0-4ebd-89cf-387ecec152eb}*SharedItemsImports = 4
|
||||
xUnitRevitShared\xUnitRevitShared.projitems*{c887776c-f153-4093-8837-35d72422b846}*SharedItemsImports = 4
|
||||
xUnitRevitShared\xUnitRevitShared.projitems*{cbc76044-bb09-4c2a-9392-89343f4dae6a}*SharedItemsImports = 4
|
||||
xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems*{e0bf38c2-13bc-4acc-b0f2-4dfe82965db4}*SharedItemsImports = 5
|
||||
xUnitRevitShared\xUnitRevitShared.projitems*{f7ce564d-e468-44e1-af57-3b8f37629e25}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("xUnitRevit2021")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("xUnitRevit2021")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("cbc76044-bb09-4c2a-9392-89343f4dae6a")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{C3BE785A-1EC0-4EBD-89CF-387ECEC152EB}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>xUnitRevit</RootNamespace>
|
||||
<AssemblyName>xUnitRevit</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<RevitFolderName>xUnitRevit</RevitFolderName>
|
||||
<RevitVersion>2020</RevitVersion>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;REVIT2020</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;REVIT2020</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2020">
|
||||
<Version>4.0.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="speckle.xunit.runner.wpf">
|
||||
<Version>1.0.9</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\xUnitRevitUtils2020\xUnitRevitUtils2020.csproj">
|
||||
<Project>{977e0b63-5706-4c2b-9c01-3c02d9ebe377}</Project>
|
||||
<Name>xUnitRevitUtils2020</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="..\xUnitRevitShared\xUnitRevitShared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>if EXIST "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)" (
|
||||
xcopy "$(TargetDir)*.addin" "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)" /Y /I /E
|
||||
xcopy "$(TargetDir)*.*" "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)\$(RevitFolderName)" /Y /I /E
|
||||
)</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("xUnitRevit2021")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("xUnitRevit2021")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("cbc76044-bb09-4c2a-9392-89343f4dae6a")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{CBC76044-BB09-4C2A-9392-89343F4DAE6A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>xUnitRevit</RootNamespace>
|
||||
<AssemblyName>xUnitRevit</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<RevitFolderName>xUnitRevit</RevitFolderName>
|
||||
<RevitVersion>2021</RevitVersion>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;REVIT2021</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;REVIT2021</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2021">
|
||||
<Version>4.0.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="speckle.xunit.runner.wpf">
|
||||
<Version>1.0.9</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\xUnitRevitUtils2021\xUnitRevitUtils2021.csproj">
|
||||
<Project>{977e0b63-5706-4c2b-9c01-3c02d9ebe377}</Project>
|
||||
<Name>xUnitRevitUtils2021</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="..\xUnitRevitShared\xUnitRevitShared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>if EXIST "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)" (
|
||||
xcopy "$(TargetDir)*.addin" "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)" /Y /I /E
|
||||
xcopy "$(TargetDir)*.*" "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)\$(RevitFolderName)" /Y /I /E
|
||||
)</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("xUnitRevit2021")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("xUnitRevit2021")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("cbc76044-bb09-4c2a-9392-89343f4dae6a")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{F7CE564D-E468-44E1-AF57-3B8F37629E25}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>xUnitRevit</RootNamespace>
|
||||
<AssemblyName>xUnitRevit</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<RevitFolderName>xUnitRevit</RevitFolderName>
|
||||
<RevitVersion>2022</RevitVersion>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;REVIT2022</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;REVIT2022</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2022">
|
||||
<Version>4.0.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="speckle.xunit.runner.wpf">
|
||||
<Version>1.0.9</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\xUnitRevitUtils2022\xUnitRevitUtils2022.csproj">
|
||||
<Project>{977e0b63-5706-4c2b-9c01-3c02d9ebe377}</Project>
|
||||
<Name>xUnitRevitUtils2022</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="..\xUnitRevitShared\xUnitRevitShared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>if EXIST "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)" (
|
||||
xcopy "$(TargetDir)*.addin" "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)" /Y /I /E
|
||||
xcopy "$(TargetDir)*.*" "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)\$(RevitFolderName)" /Y /I /E
|
||||
)</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("xUnitRevit2023")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("xUnitRevit2023")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("c887776c-f153-4093-8837-35d72422b846")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{C887776C-F153-4093-8837-35D72422B846}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>xUnitRevit2023</RootNamespace>
|
||||
<AssemblyName>xUnitRevit2023</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
<RevitFolderName>xUnitRevit</RevitFolderName>
|
||||
<RevitVersion>2023</RevitVersion>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;REVIT2023</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\xUnitRevitUtils2023\xUnitRevitUtils2023.csproj">
|
||||
<Project>{e0bf38c2-13bc-4acc-b0f2-4dfe82965db4}</Project>
|
||||
<Name>xUnitRevitUtils2023</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="..\xUnitRevitShared\xUnitRevitShared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>if EXIST "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)" (
|
||||
xcopy "$(TargetDir)*.addin" "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)" /Y /I /E
|
||||
xcopy "$(TargetDir)*.*" "$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)\$(RevitFolderName)" /Y /I /E
|
||||
)</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,89 +0,0 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Copyright>Copyright (c) Speckle</Copyright>
|
||||
<Authors>Speckle</Authors>
|
||||
<Owners>Speckle</Owners>
|
||||
<NeutralLanguage>en-US</NeutralLanguage>
|
||||
<MinClientVersion>2.14</MinClientVersion>
|
||||
<PublishRepositoryUrl>true</PublishRepositoryUrl>
|
||||
<RepositoryUrl>https://github.com/specklesystems/xUnitRevit</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<Product>$(AssemblyName) ($(TargetFramework))</Product>
|
||||
<Version>1.0.0</Version>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
<AssemblyName>xUnitRevitRunner</AssemblyName>
|
||||
<RootNamespace>xUnitRevitRunner</RootNamespace>
|
||||
|
||||
<!--<Nullable>enable</Nullable>-->
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<NoWarn>$(NoWarn);1591;1701;1702;1705;VSX1000;CS0109;CS0108;CS0618;CS0114;NU1603</NoWarn>
|
||||
<Platform>AnyCPU</Platform>
|
||||
|
||||
<EnableNETAnalyzers>true</EnableNETAnalyzers>
|
||||
<AnalysisLevel>latest</AnalysisLevel>
|
||||
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
|
||||
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
||||
<DesignTimeBuild>false</DesignTimeBuild>
|
||||
<DebugType>portable</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<DebugType>full</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="xUnitRevitRunnerShared\xUnitRevitRunnerShared.projitems" Label="Shared" />
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\speckle.xunit.runner.wpf\speckle.xunit.runner.wpf\speckle.xunit.runner.wpf.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- MULTIVERSION POST BUILD EVENTS START -->
|
||||
<Target Name="PostBuildActions" AfterTargets="PostBuildEvent">
|
||||
<CallTarget Condition="$(Configuration.Contains('Debug'))" Targets="AfterBuildDebug" />
|
||||
<CallTarget Condition="$(Configuration.Contains('Release'))" Targets="AfterBuildRelease" />
|
||||
</Target>
|
||||
<Target Name="AfterBuildDebug">
|
||||
<ItemGroup>
|
||||
<SourceDLLs Include="$(TargetDir)\**\*.*" />
|
||||
<SourceManifest Include="$(TargetDir)*.addin" />
|
||||
</ItemGroup>
|
||||
<Copy DestinationFolder="$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)\$(TargetName)\%(RecursiveDir)" SourceFiles="@(SourceDLLs)" />
|
||||
<Copy DestinationFolder="$(AppData)\Autodesk\REVIT\Addins\$(RevitVersion)\" SourceFiles="@(SourceManifest)" />
|
||||
<Message Importance="High" Text="COPY @(SourceManifest)" />
|
||||
</Target>
|
||||
<Target Name="AfterBuildRelease">
|
||||
<ItemGroup>
|
||||
<SourceDLLs Include="$(TargetDir)\**\*.*" />
|
||||
<SourceManifest Include="$(TargetDir)*.addin" />
|
||||
</ItemGroup>
|
||||
<Message Importance="High" Text="RELEASE copy from $(TargetDir) to $(SolutionDir)\Release\Release$(RevitVersion)\$(TargetName)\" />
|
||||
<Copy DestinationFolder="$(SolutionDir)\Release\Release$(RevitVersion)\$(TargetName)\%(RecursiveDir)" SourceFiles="@(SourceDLLs)" />
|
||||
<Copy DestinationFolder="$(SolutionDir)\Release\Release$(RevitVersion)\" SourceFiles="@(SourceManifest)" />
|
||||
</Target>
|
||||
<!--END-->
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"profiles": {
|
||||
"Profile 1": {
|
||||
"commandName": "Executable",
|
||||
"executablePath": "$(ProgramW6432)\\Autodesk\\Revit 2023\\Revit.exe",
|
||||
"remoteDebugEnabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<RevitVersion>2019</RevitVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2019" Version="4.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ProjectReference Include="..\..\xUnitRevitUtils\xUnitRevitUtils2019\xUnitRevitUtils2019.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"profiles": {
|
||||
"Profile 1": {
|
||||
"commandName": "Executable",
|
||||
"executablePath": "$(ProgramW6432)\\Autodesk\\Revit 2020\\Revit.exe",
|
||||
"remoteDebugEnabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<RevitVersion>2020</RevitVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2020" Version="4.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ProjectReference Include="..\..\xUnitRevitUtils\xUnitRevitUtils2020\xUnitRevitUtils2020.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"profiles": {
|
||||
"Profile 1": {
|
||||
"commandName": "Executable",
|
||||
"executablePath": "$(ProgramW6432)\\Autodesk\\Revit 2021\\Revit.exe",
|
||||
"remoteDebugEnabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<RevitVersion>2021</RevitVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2021" Version="4.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ProjectReference Include="..\..\xUnitRevitUtils\xUnitRevitUtils2021\xUnitRevitUtils2021.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"profiles": {
|
||||
"Profile 1": {
|
||||
"commandName": "Executable",
|
||||
"executablePath": "$(ProgramW6432)\\Autodesk\\Revit 2022\\Revit.exe",
|
||||
"remoteDebugEnabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<RevitVersion>2022</RevitVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.Revit.API" Version="2022.0.2.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ProjectReference Include="..\..\xUnitRevitUtils\xUnitRevitUtils2022\xUnitRevitUtils2022.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"profiles": {
|
||||
"Profile 1": {
|
||||
"commandName": "Executable",
|
||||
"executablePath": "$(ProgramW6432)\\Autodesk\\Revit 2023\\Revit.exe",
|
||||
"remoteDebugEnabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<RevitVersion>2023</RevitVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.Revit.API" Version="2023.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ProjectReference Include="..\..\xUnitRevitUtils\xUnitRevitUtils2023\xUnitRevitUtils2023.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,68 +0,0 @@
|
||||
#region Namespaces
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using Autodesk.Revit.ApplicationServices;
|
||||
using Autodesk.Revit.UI;
|
||||
#endregion
|
||||
|
||||
namespace xUnitRevit
|
||||
{
|
||||
class App : IExternalApplication
|
||||
{
|
||||
public Result OnStartup(UIControlledApplication a)
|
||||
{
|
||||
a.ControlledApplication.ApplicationInitialized += ControlledApplication_ApplicationInitialized;
|
||||
|
||||
string path = typeof(App).Assembly.Location;
|
||||
RibbonPanel ribbonPanel = a.CreateRibbonPanel("xUnitRevit by Speckle");
|
||||
|
||||
var xUnitRevitButton = ribbonPanel.AddItem(new PushButtonData("Test Runner", "Test Runner", typeof(App).Assembly.Location, typeof(Command).FullName)) as PushButton;
|
||||
|
||||
if (xUnitRevitButton != null)
|
||||
{
|
||||
xUnitRevitButton.Image = LoadPngImgSource("xUnitRevitRunner.Assets.icon16.png", path);
|
||||
xUnitRevitButton.LargeImage = LoadPngImgSource("xUnitRevitRunner.Assets.icon32.png", path);
|
||||
xUnitRevitButton.ToolTipImage = LoadPngImgSource("xUnitRevitRunner.Assets.icon32.png", path);
|
||||
xUnitRevitButton.ToolTip = "xUnit Test runner for Revit";
|
||||
xUnitRevitButton.AvailabilityClassName = typeof(CmdAvailabilityViews).FullName;
|
||||
xUnitRevitButton.SetContextualHelp(new ContextualHelp(ContextualHelpType.Url, "https://speckle.systems"));
|
||||
}
|
||||
|
||||
|
||||
return Result.Succeeded;
|
||||
}
|
||||
|
||||
private void ControlledApplication_ApplicationInitialized(object sender, Autodesk.Revit.DB.Events.ApplicationInitializedEventArgs e)
|
||||
{
|
||||
var app = sender as Application;
|
||||
using var uiapp = new UIApplication(app);
|
||||
|
||||
Runner.ReadConfig();
|
||||
|
||||
if (Runner.Config.AutoStart)
|
||||
Runner.Launch(uiapp);
|
||||
}
|
||||
|
||||
public Result OnShutdown(UIControlledApplication a)
|
||||
{
|
||||
return Result.Succeeded;
|
||||
}
|
||||
|
||||
private ImageSource LoadPngImgSource(string sourceName, string path)
|
||||
{
|
||||
try
|
||||
{
|
||||
var assembly = Assembly.LoadFrom(Path.Combine(path));
|
||||
var icon = assembly.GetManifestResourceStream(sourceName);
|
||||
PngBitmapDecoder m_decoder = new PngBitmapDecoder(icon, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
|
||||
ImageSource m_source = m_decoder.Frames[0];
|
||||
return (m_source);
|
||||
}
|
||||
catch { }
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.8 KiB |
@@ -1,13 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace xUnitRevit
|
||||
{
|
||||
/// <summary>
|
||||
/// Simple configuration file for lazy developers
|
||||
/// </summary>
|
||||
public class Configuration
|
||||
{
|
||||
public IList<string> StartupAssemblies { get; set; } = new List<string>();
|
||||
public bool AutoStart { get; set; } = false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
#region Namespaces
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Autodesk.Revit.ApplicationServices;
|
||||
using Autodesk.Revit.Attributes;
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
#endregion
|
||||
|
||||
namespace xUnitRevit
|
||||
{
|
||||
class App : IExternalApplication
|
||||
{
|
||||
public Result OnStartup(UIControlledApplication a)
|
||||
{
|
||||
a.ControlledApplication.ApplicationInitialized += ControlledApplication_ApplicationInitialized;
|
||||
a.DialogBoxShowing += new EventHandler<Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs>(AppDialogShowing);
|
||||
return Result.Succeeded;
|
||||
}
|
||||
|
||||
|
||||
private void ControlledApplication_ApplicationInitialized(object sender, Autodesk.Revit.DB.Events.ApplicationInitializedEventArgs e)
|
||||
{
|
||||
Application app = sender as Application;
|
||||
UIApplication uiapp = new UIApplication(app);
|
||||
|
||||
Runner.ReadConfig();
|
||||
|
||||
if (Runner.Config.autoStart)
|
||||
Runner.Launch(uiapp);
|
||||
}
|
||||
|
||||
private void AppDialogShowing(object sender, Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs e)
|
||||
{
|
||||
// don't show the dialog, just move on with life and testing
|
||||
e.OverrideResult(1);
|
||||
}
|
||||
|
||||
|
||||
public Result OnShutdown(UIControlledApplication a)
|
||||
{
|
||||
a.ControlledApplication.ApplicationInitialized -= ControlledApplication_ApplicationInitialized;
|
||||
a.DialogBoxShowing -= new EventHandler<Autodesk.Revit.UI.Events.DialogBoxShowingEventArgs>(AppDialogShowing);
|
||||
return Result.Succeeded;
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -19,4 +19,4 @@ namespace xUnitRevit
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
#region Namespaces
|
||||
#region Namespaces
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using Autodesk.Revit.Attributes;
|
||||
using Autodesk.Revit.DB;
|
||||
@@ -10,14 +12,20 @@ namespace xUnitRevit
|
||||
[Transaction(TransactionMode.Manual)]
|
||||
public class Command : IExternalCommand
|
||||
{
|
||||
static object consoleLock = new object();
|
||||
static ManualResetEvent finished = new ManualResetEvent(false);
|
||||
static Result result = Result.Succeeded;
|
||||
|
||||
public Result Execute(
|
||||
ExternalCommandData commandData,
|
||||
ref string message,
|
||||
ElementSet elements)
|
||||
{
|
||||
var uiapp = commandData.Application;
|
||||
UIApplication uiapp = commandData.Application;
|
||||
Runner.Launch(uiapp);
|
||||
return Result.Succeeded;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace xUnitRevit
|
||||
{
|
||||
/// <summary>
|
||||
/// Simple configuration file for lazy developers
|
||||
/// </summary>
|
||||
public class Configuration
|
||||
{
|
||||
public List<string> startupAssemblies { get; set; } = new List<string>();
|
||||
public bool autoStart { get; set; } = false;
|
||||
}
|
||||
}
|
||||
+7
-4
@@ -1,7 +1,10 @@
|
||||
using System;
|
||||
using Autodesk.Revit.UI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using Autodesk.Revit.UI;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace xUnitRevit
|
||||
{
|
||||
@@ -13,9 +16,9 @@ namespace xUnitRevit
|
||||
{
|
||||
|
||||
public bool Running = false;
|
||||
public IList<Action> Queue { get; set; }
|
||||
public List<Action> Queue { get; set; }
|
||||
|
||||
public ExternalEventHandler(IList<Action> queue)
|
||||
public ExternalEventHandler(List<Action> queue)
|
||||
{
|
||||
Queue = queue;
|
||||
}
|
||||
@@ -1,13 +1,15 @@
|
||||
using System;
|
||||
using Autodesk.Revit.UI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Web.Script.Serialization;
|
||||
using Autodesk.Revit.UI;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit.Runner.Wpf;
|
||||
using Xunit.Runner.Wpf.ViewModel;
|
||||
using System.Web.Script.Serialization;
|
||||
using System.IO;
|
||||
using xUnitRevitUtils;
|
||||
|
||||
namespace xUnitRevit
|
||||
@@ -23,22 +25,19 @@ namespace xUnitRevit
|
||||
try
|
||||
{
|
||||
var queue = new List<Action>();
|
||||
using var eventHandler = ExternalEvent.Create(new ExternalEventHandler(queue));
|
||||
var eventHandler = ExternalEvent.Create(new ExternalEventHandler(queue));
|
||||
|
||||
xru.Initialize(uiapp, SynchronizationContext.Current, eventHandler, queue);
|
||||
|
||||
var main = new MainWindow
|
||||
{
|
||||
Title = "xUnit Revit Runner by Speckle",
|
||||
MaxHeight = 800
|
||||
};
|
||||
var main = new MainWindow();
|
||||
main.Title = "xUnit Revit by Speckle";
|
||||
main.MaxHeight = 800;
|
||||
|
||||
//pre-load asssemblies, if you're a lazy developer
|
||||
if (main.DataContext is MainViewModel mainViewModel)
|
||||
mainViewModel.StartupAssemblies = Config.StartupAssemblies.ToList();
|
||||
(main.DataContext as MainViewModel).StartupAssemblies = Config.startupAssemblies;
|
||||
main.Show();
|
||||
}
|
||||
catch
|
||||
catch (Exception e)
|
||||
{
|
||||
//fail silently
|
||||
}
|
||||
@@ -50,11 +49,13 @@ namespace xUnitRevit
|
||||
{
|
||||
var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
||||
var path = Path.Combine(dir, "config.json");
|
||||
var JavaScriptSerializer = new JavaScriptSerializer();
|
||||
JavaScriptSerializer JavaScriptSerializer = new JavaScriptSerializer();
|
||||
var json = File.ReadAllText(path);
|
||||
Config = JavaScriptSerializer.Deserialize<Configuration>(json);
|
||||
}
|
||||
catch { }
|
||||
catch
|
||||
{}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"startupAssemblies": [
|
||||
"C:\\Users\\conno\\Documents\\GitHub\\speckle-sharp\\Objects\\Converters\\ConverterRevit\\ConverterRevitTests\\ConverterRevitTests2020\\bin\\Debug\\ConverterRevitTests.dll",
|
||||
"C:\\Users\\conno\\Documents\\GitHub\\speckle-sharp\\Objects\\Converters\\ConverterRevit\\ConverterRevitTests\\ConverterRevitTests2021\\bin\\Debug\\ConverterRevitTests.dll",
|
||||
"C:\\Users\\conno\\Documents\\GitHub\\speckle-sharp\\Objects\\Converters\\ConverterRevit\\ConverterRevitTests\\ConverterRevitTests2022\\bin\\Debug\\ConverterRevitTests.dll",
|
||||
"C:\\Users\\conno\\Documents\\GitHub\\speckle-sharp\\Objects\\Converters\\ConverterRevit\\ConverterRevitTests\\ConverterRevitTests2023\\bin\\Debug\\ConverterRevitTests.dll"
|
||||
],
|
||||
"autoStart": true
|
||||
}
|
||||
+4
-4
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RevitAddIns>
|
||||
<!--<AddIn Type="Command">
|
||||
<AddIn Type="Command">
|
||||
<Text>xUnitRevit</Text>
|
||||
<Description>xUnitRevit</Description>
|
||||
<Assembly>xUnitRevit\xUnitRevit.dll</Assembly>
|
||||
@@ -8,10 +8,10 @@
|
||||
<ClientId>9d179887-9fae-41f9-940a-697b59cafe4a</ClientId>
|
||||
<VendorId>speckle</VendorId>
|
||||
<VendorDescription>Speckle</VendorDescription>
|
||||
</AddIn>-->
|
||||
</AddIn>
|
||||
<AddIn Type="Application">
|
||||
<Name>xUnitRevit Runner</Name>
|
||||
<Assembly>xUnitRevitRunner\xUnitRevitRunner.dll</Assembly>
|
||||
<Name>Speckle xUnitRevit</Name>
|
||||
<Assembly>xUnitRevit\xUnitRevit.dll</Assembly>
|
||||
<FullClassName>xUnitRevit.App</FullClassName>
|
||||
<ClientId>d9c9ed6f-7b2a-4c47-8f87-a6f33a553d50</ClientId>
|
||||
<VendorId>speckle</VendorId>
|
||||
+5
-9
@@ -3,18 +3,11 @@
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects Condition="'$(MSBuildVersion)' == '' Or '$(MSBuildVersion)' < '16.0'">$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
<HasSharedItems>true</HasSharedItems>
|
||||
<SharedGUID>2b4f4767-cf26-485b-adb3-751250eb1cdb</SharedGUID>
|
||||
<SharedGUID>48829151-f9be-4237-b506-b29f71a361e7</SharedGUID>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<Import_RootNamespace>xUnitRevitShared</Import_RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="$(MSBuildThisFileDirectory)Assets\icon.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Assets\icon16.png" />
|
||||
<EmbeddedResource Include="$(MSBuildThisFileDirectory)Assets\icon32.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)App.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)CmdAvailabilityViews.cs" />
|
||||
@@ -24,10 +17,13 @@
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Runner.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="$(MSBuildThisFileDirectory)config.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="$(MSBuildThisFileDirectory)config_sample.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="$(MSBuildThisFileDirectory)xUnitRevitRunner.addin">
|
||||
<None Include="$(MSBuildThisFileDirectory)xUnitRevit.addin">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>2b4f4767-cf26-485b-adb3-751250eb1cdb</ProjectGuid>
|
||||
<ProjectGuid>48829151-f9be-4237-b506-b29f71a361e7</ProjectGuid>
|
||||
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
@@ -1,55 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.2.32630.192
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionItems", "SolutionItems", "{F5A2849D-7C58-4894-B9C5-8488E244B7CF}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
xUnitRevitUtils\Directory.Build.props = xUnitRevitUtils\Directory.Build.props
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2023", "xUnitRevitUtils\xUnitRevitUtils2023\xUnitRevitUtils2023.csproj", "{637136C9-AB5D-4F00-948E-C68FAE2682D0}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2022", "xUnitRevitUtils\xUnitRevitUtils2022\xUnitRevitUtils2022.csproj", "{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2021", "xUnitRevitUtils\xUnitRevitUtils2021\xUnitRevitUtils2021.csproj", "{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2020", "xUnitRevitUtils\xUnitRevitUtils2020\xUnitRevitUtils2020.csproj", "{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "xUnitRevitUtils2019", "xUnitRevitUtils\xUnitRevitUtils2019\xUnitRevitUtils2019.csproj", "{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{637136C9-AB5D-4F00-948E-C68FAE2682D0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1FBB8939-AEF1-4ED6-906D-AEB676BB683E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{441C42B5-400D-4EA3-9F2A-26B80CF37E8E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6118A3C3-479F-4CA9-BB00-9FCBF55BF8B8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{469F8B29-F14E-49E8-B145-8C4FEF9D68CA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {1CD726E4-6BBA-4FC3-9C57-0981EF1A9475}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -1,97 +0,0 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Copyright>Copyright (c) Speckle</Copyright>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<PackageProjectUrl>https://github.com/Speckle-Next/xunit-Revit</PackageProjectUrl>
|
||||
<Authors>Speckle</Authors>
|
||||
<Owners>Speckle</Owners>
|
||||
<PackageTags>xunit revit runner</PackageTags>
|
||||
<PackageReleaseNotes>https://github.com/Speckle-Next/xunit-Revit/releases</PackageReleaseNotes>
|
||||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
|
||||
<PackageReadmeFile>readme.md</PackageReadmeFile>
|
||||
<NeutralLanguage>en-US</NeutralLanguage>
|
||||
<MinClientVersion>2.14</MinClientVersion>
|
||||
|
||||
<PublishRepositoryUrl>true</PublishRepositoryUrl>
|
||||
<RepositoryUrl>https://github.com/Speckle-Next/xunit-Revit</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<Product>$(AssemblyName) ($(TargetFramework))</Product>
|
||||
<!--This is set by the TAG in the CI-->
|
||||
<Version>0.0.1</Version>
|
||||
|
||||
<AssemblyName>xUnitRevitUtils</AssemblyName>
|
||||
<RootNamespace>xUnitRevitUtils</RootNamespace>
|
||||
|
||||
<!--<Nullable>enable</Nullable>-->
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<NoWarn>$(NoWarn);1591;1701;1702;1705;VSX1000;CS0109;CS0108;CS0618;CS0114;NU1603</NoWarn>
|
||||
<Platform>AnyCPU</Platform>
|
||||
|
||||
<EnableNETAnalyzers>true</EnableNETAnalyzers>
|
||||
<AnalysisLevel>latest</AnalysisLevel>
|
||||
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
|
||||
|
||||
<IsLibraryProject>$(MSBuildProjectName.Contains('Utils'))</IsLibraryProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<IsPackable Condition="'$(IsLibraryProject)' == 'true'">true</IsPackable>
|
||||
|
||||
<!--<SymbolPackageFormat>snupkg</SymbolPackageFormat>-->
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
|
||||
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
||||
|
||||
<DesignTimeBuild>false</DesignTimeBuild>
|
||||
<DebugType>portable</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<GeneratePackageOnBuild Condition="'$(IsLibraryProject)' == 'true'">true</GeneratePackageOnBuild>
|
||||
<PackageOutputPath>$(SolutionDir)\artifacts</PackageOutputPath>
|
||||
<PackageIcon>icon.png</PackageIcon>
|
||||
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<DebugType>full</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(IsLibraryProject)' == 'true'">
|
||||
<None Include="$(MSBuildThisFileDirectory)\..\LICENSE" Pack="true" PackagePath="\" />
|
||||
<None Include="$(MSBuildThisFileDirectory)\..\icon.png" Pack="true" PackagePath="\" />
|
||||
<None Include="$(MSBuildThisFileDirectory)\..\readme.md" Pack="true" PackagePath="\"/>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)\xUnitRevitUtilsShared\xru.cs" Link="xru.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Roslynator.Analyzers" Version="4.2.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="AsyncFixer" Version="1.6.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="IDisposableAnalyzers" Version="4.0.2">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="PropertyChangedAnalyzers" Version="4.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="ReflectionAnalyzers" Version="0.3.1">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Meziantou.Analyzer" Version="2.0.19">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,14 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<Description>xUnit runner utilities for Revit 2019</Description>
|
||||
<PackageId>xUnitRevitUtils.2019</PackageId>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2019" Version="4.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,15 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<Description>xUnit runner utilities for Revit 2020</Description>
|
||||
<PackageId>xUnitRevitUtils.2020</PackageId>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2020" Version="4.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,15 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<Description>xUnit runner utilities for Revit 2021</Description>
|
||||
<PackageId>xUnitRevitUtils.2021</PackageId>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2021" Version="4.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<Description>xUnit runner utilities for Revit 2022</Description>
|
||||
<PackageId>xUnitRevitUtils.2022</PackageId>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.Revit.API" Version="2022.0.2.1" >
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="xunit" Version="2.4.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,17 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<Description>xUnit runner utilities for Revit 2023</Description>
|
||||
<PackageId>xUnitRevitUtils.2023</PackageId>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Speckle.Revit.API" Version="2023.0.0">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="xunit" Version="2.4.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,5 +1,12 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
using Autodesk.Revit.UI.Selection;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace xUnitRevitUtils
|
||||
@@ -10,10 +17,13 @@ namespace xUnitRevitUtils
|
||||
public static class xru
|
||||
{
|
||||
public static UIApplication Uiapp { get; set; }
|
||||
private static IList<Action> Queue { get; set; }
|
||||
|
||||
private static List<Action> Queue { get; set; }
|
||||
private static ExternalEvent EventHandler { get; set; }
|
||||
|
||||
public static SynchronizationContext UiContext { get; set; }
|
||||
public static void Initialize(UIApplication uiapp, SynchronizationContext uiContext, ExternalEvent eventHandler, IList<Action> queue)
|
||||
|
||||
public static void Initialize(UIApplication uiapp, SynchronizationContext uiContext, ExternalEvent eventHandler, List<Action> queue)
|
||||
{
|
||||
Uiapp = uiapp;
|
||||
UiContext = uiContext;
|
||||
@@ -23,11 +33,12 @@ namespace xUnitRevitUtils
|
||||
|
||||
#region utility methods
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Returns the selected elements in the active document
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static IList<Element> GetActiveSelection()
|
||||
public static List<Element> GetActiveSelection()
|
||||
{
|
||||
Assert.NotNull(Uiapp);
|
||||
|
||||
@@ -44,27 +55,11 @@ namespace xUnitRevitUtils
|
||||
Assert.NotNull(Uiapp);
|
||||
Document doc = null;
|
||||
//OpenAndActivateDocument only works if run from the current context
|
||||
UiContext.Send(x => doc = Uiapp.OpenAndActivateDocument(filePath).Document, null);
|
||||
UiContext.Send(x => { doc = Uiapp.OpenAndActivateDocument(filePath).Document; }, null);
|
||||
Assert.NotNull(doc);
|
||||
return doc;
|
||||
}
|
||||
/// <summary>
|
||||
/// Closes the provided Revit document
|
||||
/// </summary>
|
||||
/// <param name="doc">Revit document to be closed</param>
|
||||
/// <param name="saveChanges">If true, saves changes to document before closing</param>
|
||||
/// <returns>
|
||||
/// Bool indicating whether or not the document was successfully closed
|
||||
/// </returns>
|
||||
public static bool CloseDoc(Document doc, bool saveChanges = false)
|
||||
{
|
||||
if (doc == null)
|
||||
return false;
|
||||
|
||||
var result = false;
|
||||
UiContext.Send(x => result = doc.Close(saveChanges), null);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new empty document
|
||||
@@ -83,9 +78,7 @@ namespace xUnitRevitUtils
|
||||
if (overwrite && File.Exists(filePath))
|
||||
File.Delete(filePath);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
catch { }
|
||||
|
||||
//OpenAndActivateDocument only works if run from the current context
|
||||
UiContext.Send(x =>
|
||||
@@ -105,6 +98,7 @@ namespace xUnitRevitUtils
|
||||
return doc;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Runs an Action in a Revit transaction, uses TaskCompletionSource to communicate when done
|
||||
/// </summary>
|
||||
@@ -120,18 +114,20 @@ namespace xUnitRevitUtils
|
||||
{
|
||||
try
|
||||
{
|
||||
using var transaction = new Transaction(doc, transactionName);
|
||||
transaction.Start();
|
||||
|
||||
if (ignoreWarnings)
|
||||
using (Transaction transaction = new Transaction(doc, transactionName))
|
||||
{
|
||||
using var options = transaction.GetFailureHandlingOptions();
|
||||
options.SetFailuresPreprocessor(new IgnoreAllWarnings());
|
||||
transaction.SetFailureHandlingOptions(options);
|
||||
}
|
||||
transaction.Start();
|
||||
|
||||
action.Invoke();
|
||||
transaction.Commit();
|
||||
if (ignoreWarnings)
|
||||
{
|
||||
var options = transaction.GetFailureHandlingOptions();
|
||||
options.SetFailuresPreprocessor(new IgnoreAllWarnings());
|
||||
transaction.SetFailureHandlingOptions(options);
|
||||
}
|
||||
|
||||
action.Invoke();
|
||||
transaction.Commit();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -143,6 +139,7 @@ namespace xUnitRevitUtils
|
||||
EventHandler.Raise();
|
||||
|
||||
return tcs.Task;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -170,6 +167,7 @@ namespace xUnitRevitUtils
|
||||
EventHandler.Raise();
|
||||
|
||||
return tcs.Task;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -189,6 +187,8 @@ namespace xUnitRevitUtils
|
||||
return FailureProcessingResult.Continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageProjectUrl>https://github.com/Speckle-Next/xunit-Revit</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/Speckle-Next/xunit-Revit</RepositoryUrl>
|
||||
<PackageTags>xunit revit runner</PackageTags>
|
||||
<Authors>Speckle</Authors>
|
||||
<Company>Speckle</Company>
|
||||
<Description>xUnit runner utilities for Revit 2019</Description>
|
||||
<PackageIconUrl>https://avatars2.githubusercontent.com/u/2092016</PackageIconUrl>
|
||||
<PackageIcon>xunit.png</PackageIcon>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<AssemblyName>xUnitRevitUtils</AssemblyName>
|
||||
<RootNamespace>xUnitRevitUtils</RootNamespace>
|
||||
<PackageId>xUnitRevitUtils.2019</PackageId>
|
||||
<Version>1.0.5</Version>
|
||||
<AssemblyVersion>1.0.5.0</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2019" Version="1.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems" Label="Shared" />
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>xUnitRevitUtils.2019</id>
|
||||
<version>$version$</version>
|
||||
<title>$title$</title>
|
||||
<authors>$author$</authors>
|
||||
<owners>$author$</owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<license type="expression">MIT</license>
|
||||
<projectUrl>https://github.com/Speckle-Next/xunit-Revit</projectUrl>
|
||||
<iconUrl>https://avatars2.githubusercontent.com/u/2092016</iconUrl>
|
||||
<description>$description$</description>
|
||||
<releaseNotes></releaseNotes>
|
||||
<copyright>Copyright 2020</copyright>
|
||||
<tags>xunit revit</tags>
|
||||
<dependencies>
|
||||
<dependency id="ModPlus.Revit.API.2019" version="1.0.0" />
|
||||
<dependency id="xunit" version="2.4.1" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
@@ -0,0 +1,29 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageProjectUrl>https://github.com/Speckle-Next/xunit-Revit</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/Speckle-Next/xunit-Revit</RepositoryUrl>
|
||||
<PackageTags>xunit revit runner</PackageTags>
|
||||
<Authors>Speckle</Authors>
|
||||
<Company>Speckle</Company>
|
||||
<Description>xUnit runner utilities for Revit 2020</Description>
|
||||
<PackageIconUrl>https://avatars2.githubusercontent.com/u/2092016</PackageIconUrl>
|
||||
<PackageIcon>xunit.png</PackageIcon>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<AssemblyName>xUnitRevitUtils</AssemblyName>
|
||||
<RootNamespace>xUnitRevitUtils</RootNamespace>
|
||||
<PackageId>xUnitRevitUtils.2020</PackageId>
|
||||
<Version>1.0.5</Version>
|
||||
<AssemblyVersion>1.0.5.0</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2020" Version="1.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems" Label="Shared" />
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>xUnitRevitUtils.2020</id>
|
||||
<version>$version$</version>
|
||||
<title>$title$</title>
|
||||
<authors>$author$</authors>
|
||||
<owners>$author$</owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<license type="expression">MIT</license>
|
||||
<projectUrl>https://github.com/Speckle-Next/xunit-Revit</projectUrl>
|
||||
<iconUrl>https://avatars2.githubusercontent.com/u/2092016</iconUrl>
|
||||
<description>$description$</description>
|
||||
<releaseNotes></releaseNotes>
|
||||
<copyright>Copyright 2020</copyright>
|
||||
<tags>xunit revit</tags>
|
||||
<dependencies>
|
||||
<dependency id="ModPlus.Revit.API.2020" version="1.0.0" />
|
||||
<dependency id="xunit" version="2.4.1" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
@@ -0,0 +1,29 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageProjectUrl>https://github.com/Speckle-Next/xunit-Revit</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/Speckle-Next/xunit-Revit</RepositoryUrl>
|
||||
<PackageTags>xunit revit runner</PackageTags>
|
||||
<Authors>Speckle</Authors>
|
||||
<Company>Speckle</Company>
|
||||
<Description>xUnit runner utilities for Revit 2021</Description>
|
||||
<PackageIconUrl>https://avatars2.githubusercontent.com/u/2092016</PackageIconUrl>
|
||||
<PackageIcon>xunit.png</PackageIcon>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<AssemblyName>xUnitRevitUtils</AssemblyName>
|
||||
<RootNamespace>xUnitRevitUtils</RootNamespace>
|
||||
<PackageId>xUnitRevitUtils.2021</PackageId>
|
||||
<Version>1.0.5</Version>
|
||||
<AssemblyVersion>1.0.5.0</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2021" Version="1.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems" Label="Shared" />
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>xUnitRevitUtils.2021</id>
|
||||
<version>$version$</version>
|
||||
<title>$title$</title>
|
||||
<authors>$author$</authors>
|
||||
<owners>$author$</owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<license type="expression">MIT</license>
|
||||
<projectUrl>https://github.com/Speckle-Next/xunit-Revit</projectUrl>
|
||||
<iconUrl>https://avatars2.githubusercontent.com/u/2092016</iconUrl>
|
||||
<description>$description$</description>
|
||||
<releaseNotes></releaseNotes>
|
||||
<copyright>Copyright 2020</copyright>
|
||||
<tags>xunit revit</tags>
|
||||
<dependencies>
|
||||
<dependency id="ModPlus.Revit.API.2021" version="1.0.0" />
|
||||
<dependency id="xunit" version="2.4.1" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
@@ -0,0 +1,29 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageProjectUrl>https://github.com/Speckle-Next/xunit-Revit</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/Speckle-Next/xunit-Revit</RepositoryUrl>
|
||||
<PackageTags>xunit revit runner</PackageTags>
|
||||
<Authors>Speckle</Authors>
|
||||
<Company>Speckle</Company>
|
||||
<Description>xUnit runner utilities for Revit 2022</Description>
|
||||
<PackageIconUrl>https://avatars2.githubusercontent.com/u/2092016</PackageIconUrl>
|
||||
<PackageIcon>xunit.png</PackageIcon>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<AssemblyName>xUnitRevitUtils</AssemblyName>
|
||||
<RootNamespace>xUnitRevitUtils</RootNamespace>
|
||||
<PackageId>xUnitRevitUtils.2022</PackageId>
|
||||
<Version>1.0.5</Version>
|
||||
<AssemblyVersion>1.0.5.0</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2022" Version="1.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems" Label="Shared" />
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>xUnitRevitUtils.2022</id>
|
||||
<version>$version$</version>
|
||||
<title>$title$</title>
|
||||
<authors>$author$</authors>
|
||||
<owners>$author$</owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<license type="expression">MIT</license>
|
||||
<projectUrl>https://github.com/Speckle-Next/xunit-Revit</projectUrl>
|
||||
<iconUrl>https://avatars2.githubusercontent.com/u/2092016</iconUrl>
|
||||
<description>$description$</description>
|
||||
<releaseNotes></releaseNotes>
|
||||
<copyright>Copyright 2022</copyright>
|
||||
<tags>xunit revit</tags>
|
||||
<dependencies>
|
||||
<dependency id="ModPlus.Revit.API.2022" version="1.0.0" />
|
||||
<dependency id="xunit" version="2.4.1" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
@@ -0,0 +1,29 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageProjectUrl>https://github.com/Speckle-Next/xunit-Revit</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/Speckle-Next/xunit-Revit</RepositoryUrl>
|
||||
<PackageTags>xunit revit runner</PackageTags>
|
||||
<Authors>Speckle</Authors>
|
||||
<Company>Speckle</Company>
|
||||
<Description>xUnit runner utilities for Revit 2023</Description>
|
||||
<PackageIconUrl>https://avatars2.githubusercontent.com/u/2092016</PackageIconUrl>
|
||||
<PackageIcon>xunit.png</PackageIcon>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<AssemblyName>xUnitRevitUtils</AssemblyName>
|
||||
<RootNamespace>xUnitRevitUtils</RootNamespace>
|
||||
<PackageId>xUnitRevitUtils.2023</PackageId>
|
||||
<Version>1.0.5</Version>
|
||||
<AssemblyVersion>1.0.5.0</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ModPlus.Revit.API.2023" Version="1.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="..\xUnitRevitUtilsShared\xUnitRevitUtilsShared.projitems" Label="Shared" />
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package >
|
||||
<metadata>
|
||||
<id>xUnitRevitUtils.2023</id>
|
||||
<version>$version$</version>
|
||||
<title>$title$</title>
|
||||
<authors>$author$</authors>
|
||||
<owners>$author$</owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<license type="expression">MIT</license>
|
||||
<projectUrl>https://github.com/Speckle-Next/xunit-Revit</projectUrl>
|
||||
<iconUrl>https://avatars2.githubusercontent.com/u/2092016</iconUrl>
|
||||
<description>$description$</description>
|
||||
<releaseNotes></releaseNotes>
|
||||
<copyright>Copyright 2022</copyright>
|
||||
<tags>xunit revit</tags>
|
||||
<dependencies>
|
||||
<dependency id="ModPlus.Revit.API.2023" version="1.0.0" />
|
||||
<dependency id="xunit" version="2.4.1" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
</package>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects Condition="'$(MSBuildVersion)' == '' Or '$(MSBuildVersion)' < '16.0'">$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
<HasSharedItems>true</HasSharedItems>
|
||||
<SharedGUID>ab8a5ecf-f8e1-4d5c-a488-2a38ab6b4b44</SharedGUID>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration">
|
||||
<Import_RootNamespace>xUnitRevitUtilsShared</Import_RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)xru.cs" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>ab8a5ecf-f8e1-4d5c-a488-2a38ab6b4b44</ProjectGuid>
|
||||
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
|
||||
<PropertyGroup />
|
||||
<Import Project="xUnitRevitUtilsShared.projitems" Label="Shared" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,191 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
using Autodesk.Revit.UI.Selection;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace xUnitRevitUtils
|
||||
{
|
||||
/// <summary>
|
||||
/// Utility class with methods and properties used by the xUnit Revit plugin
|
||||
/// </summary>
|
||||
public static class xru
|
||||
{
|
||||
public static UIApplication Uiapp { get; set; }
|
||||
private static List<Action> Queue { get; set; }
|
||||
private static ExternalEvent EventHandler { get; set; }
|
||||
public static SynchronizationContext UiContext { get; set; }
|
||||
public static void Initialize(UIApplication uiapp, SynchronizationContext uiContext, ExternalEvent eventHandler, List<Action> queue)
|
||||
{
|
||||
Uiapp = uiapp;
|
||||
UiContext = uiContext;
|
||||
EventHandler = eventHandler;
|
||||
Queue = queue;
|
||||
}
|
||||
|
||||
#region utility methods
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Returns the selected elements in the active document
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static List<Element> GetActiveSelection()
|
||||
{
|
||||
Assert.NotNull(Uiapp);
|
||||
|
||||
if (Uiapp.ActiveUIDocument != null)
|
||||
return Uiapp.ActiveUIDocument.Selection.GetElementIds().Select(x => Uiapp.ActiveUIDocument.Document.GetElement(x)).ToList();
|
||||
return new List<Element>();
|
||||
}
|
||||
/// <summary>
|
||||
/// Opens and activates a document if not open already
|
||||
/// </summary>
|
||||
/// <param name="filePath">Path to the file to open</param>
|
||||
public static Document OpenDoc(string filePath)
|
||||
{
|
||||
Assert.NotNull(Uiapp);
|
||||
Document doc = null;
|
||||
//OpenAndActivateDocument only works if run from the current context
|
||||
UiContext.Send(x => { doc = Uiapp.OpenAndActivateDocument(filePath).Document; }, null);
|
||||
Assert.NotNull(doc);
|
||||
return doc;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new empty document
|
||||
/// </summary>
|
||||
/// <param name="templatePath">Path to the project template</param>
|
||||
/// <param name="filePath">Path where to save the new doc</param>
|
||||
/// <param name="overwrite">If true overwrites existing files with same name</param>
|
||||
/// <returns></returns>
|
||||
public static Document CreateNewDoc(string templatePath, string filePath, bool overwrite = true)
|
||||
{
|
||||
Assert.NotNull(Uiapp);
|
||||
Document doc = null;
|
||||
|
||||
try
|
||||
{
|
||||
if (overwrite && File.Exists(filePath))
|
||||
File.Delete(filePath);
|
||||
}
|
||||
catch { }
|
||||
|
||||
//OpenAndActivateDocument only works if run from the current context
|
||||
UiContext.Send(x =>
|
||||
{
|
||||
//if already open, just use it
|
||||
if (!File.Exists(filePath))
|
||||
{
|
||||
doc = Uiapp.Application.NewProjectDocument(templatePath);
|
||||
doc.SaveAs(filePath);
|
||||
doc.Close();
|
||||
}
|
||||
|
||||
doc = Uiapp.OpenAndActivateDocument(filePath).Document;
|
||||
}
|
||||
, null);
|
||||
Assert.NotNull(doc);
|
||||
return doc;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Runs an Action in a Revit transaction, uses TaskCompletionSource to communicate when done
|
||||
/// </summary>
|
||||
/// <param name="action">Action to run</param>
|
||||
/// <param name="doc">Revit Document</param>
|
||||
/// <param name="transactionName">Transaction Name</param>
|
||||
/// <param name="ignoreWarnings">Enable to swallow all warnings generated by the transaction and prevent them from being raised within Revit</param>
|
||||
/// <returns></returns>
|
||||
public static Task RunInTransaction(Action action, Document doc, string transactionName = "transaction", bool ignoreWarnings = false)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<string>();
|
||||
Queue.Add(new Action(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
using (Transaction transaction = new Transaction(doc, transactionName))
|
||||
{
|
||||
transaction.Start();
|
||||
|
||||
if (ignoreWarnings)
|
||||
{
|
||||
var options = transaction.GetFailureHandlingOptions();
|
||||
options.SetFailuresPreprocessor(new IgnoreAllWarnings());
|
||||
transaction.SetFailureHandlingOptions(options);
|
||||
}
|
||||
|
||||
action.Invoke();
|
||||
transaction.Commit();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
tcs.TrySetException(e);
|
||||
}
|
||||
tcs.TrySetResult("");
|
||||
}));
|
||||
|
||||
EventHandler.Raise();
|
||||
|
||||
return tcs.Task;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Runs an Action, uses TaskCompletionSource to communicate when done
|
||||
/// </summary>
|
||||
/// <param name="action">Action to run</param>
|
||||
/// <param name="doc">Revit Document</param>
|
||||
/// <returns></returns>
|
||||
public static Task Run(Action action, Document doc)
|
||||
{
|
||||
var tcs = new TaskCompletionSource<string>();
|
||||
Queue.Add(new Action(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
action.Invoke();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
tcs.TrySetException(e);
|
||||
}
|
||||
tcs.TrySetResult("");
|
||||
}));
|
||||
|
||||
EventHandler.Raise();
|
||||
|
||||
return tcs.Task;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A failures preprocesser that clears any failures that occur within a transaction
|
||||
/// </summary>
|
||||
internal class IgnoreAllWarnings : IFailuresPreprocessor
|
||||
{
|
||||
public FailureProcessingResult PreprocessFailures(FailuresAccessor failuresAccessor)
|
||||
{
|
||||
var failList = failuresAccessor.GetFailureMessages();
|
||||
|
||||
foreach (FailureMessageAccessor failure in failList)
|
||||
{
|
||||
failuresAccessor.DeleteWarning(failure);
|
||||
}
|
||||
|
||||
return FailureProcessingResult.Continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user