Skip to content

Commit

Permalink
Merge branch 'release/1.4.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreyZarembo committed Oct 23, 2017
2 parents 6fd52da + c13d3b0 commit 19ef603
Show file tree
Hide file tree
Showing 17 changed files with 190 additions and 104 deletions.
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,25 @@
All notable changes to this project will be documented in this file.

#### 1.x Releases
- `1.3.x` Releases - [1.3.0](#130)
- `1.4.x` Releases - [1.4.0](#140)
- `1.3.x` Releases - [1.3.0](#130) | [1.3.1](#131) | [1.3.2](#132) | [1.3.3](#133)
- `1.2.x` Releases - [1.2.0](#120)
- `1.1.x` Releases - [1.1.0](#110) | [1.1.1](#111)
- `1.0.x` Releases - [1.0.0](#100)

---
## [1.4.0](https://github.com/AndreyZarembo/EasyDi/releases/tag/1.4.0)
Released on 2017-10-23

#### Updated
- !Breaking changes! Decided to replaced 'inout' closure variable type with return value. To fix issue with NSObject release. (Thanx to @alekseykolchanov for Pull Request)
- @alekseykolchanov advised to remove 'Definition Cache'
- Moved singletons and substitutions storages to the context

#### Fixed
- [Issue #14. Weird NSObject dealloc with Swift 4](https://github.com/AndreyZarembo/EasyDi/issues/14)


## [1.3.3](https://github.com/AndreyZarembo/EasyDi/releases/tag/1.3.3)
Released on 2017-07-24

Expand Down
2 changes: 1 addition & 1 deletion EasyDi-SupportingFiles/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.3.2</string>
<string>1.4.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
Expand Down
2 changes: 1 addition & 1 deletion EasyDi-macOS/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.3.2</string>
<string>1.4.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
Expand Down
4 changes: 2 additions & 2 deletions EasyDi.podspec.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "EasyDi",
"version": "1.3.3",
"version": "1.4.0",
"summary": "Effective DI library for rapid development in 200 lines of code",
"description": "Swift 3 and 4, iOS 8+\nEasyDi contains a dependency container for Swift. The syntax of this library was specially designed for rapid development and effective use. It fits in 200 lines, thus can do everything you need for grown-up DI library:\n- Objects creating with dependencies and injection of dependencies into existing ones\n- Separation into assemblies\n- Types of dependency resolution: objects graph, singleton, prototype\n- Objects substitution and dependency contexts for tests",
"homepage": "https://github.com/AndreyZarembo/EasyDi.git",
Expand All @@ -13,7 +13,7 @@
},
"source": {
"git": "https://github.com/AndreyZarembo/EasyDi.git",
"tag": "1.3.3"
"tag": "1.4.0"
},
"social_media_url": "https://twitter.com/AndreyZarembo",
"platforms": {
Expand Down
55 changes: 33 additions & 22 deletions EasyDi.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@
objects = {

/* Begin PBXBuildFile section */
C317CA641F1C7C2A00FAD212 /* EasyDi.swift in Sources */ = {isa = PBXBuildFile; fileRef = C317CA631F1C7C2A00FAD212 /* EasyDi.swift */; };
C317CA671F1C7C3400FAD212 /* EasyDi.h in Headers */ = {isa = PBXBuildFile; fileRef = C317CA651F1C7C3400FAD212 /* EasyDi.h */; settings = {ATTRIBUTES = (Public, ); }; };
8BEE13521F9A27C800A02331 /* EasyDi.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BEE13501F9A27C800A02331 /* EasyDi.h */; settings = {ATTRIBUTES = (Public, ); }; };
8BEE13531F9A27C800A02331 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8BEE13511F9A27C800A02331 /* Info.plist */; };
8BEE13561F9A27EA00A02331 /* EasyDi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BEE13551F9A27EA00A02331 /* EasyDi.swift */; };
8BEE13571F9A27F200A02331 /* EasyDi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BEE13551F9A27EA00A02331 /* EasyDi.swift */; };
C3614B541F1C8B6800B1F4A1 /* Test_Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3614B451F1C8B5F00B1F4A1 /* Test_Context.swift */; };
C3614B551F1C8B6800B1F4A1 /* Test_CrossAssemblyInjections.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3614B461F1C8B5F00B1F4A1 /* Test_CrossAssemblyInjections.swift */; };
C3614B561F1C8B6800B1F4A1 /* Test_Injections.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3614B471F1C8B5F00B1F4A1 /* Test_Injections.swift */; };
Expand All @@ -19,7 +21,6 @@
C3614B5D1F1C8BAE00B1F4A1 /* EasyDi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C36D9F501F1C0DC9009FD9AD /* EasyDi.framework */; };
C37DEA1C1F1E9AA000279AD3 /* EasyDi_macOS.h in Headers */ = {isa = PBXBuildFile; fileRef = C37DEA1A1F1E9AA000279AD3 /* EasyDi_macOS.h */; settings = {ATTRIBUTES = (Public, ); }; };
C37DEA291F1E9AE500279AD3 /* EasyDi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C37DEA181F1E9AA000279AD3 /* EasyDi.framework */; };
C37DEA2F1F1E9B0500279AD3 /* EasyDi.swift in Sources */ = {isa = PBXBuildFile; fileRef = C317CA631F1C7C2A00FAD212 /* EasyDi.swift */; };
C37DEA301F1E9B2100279AD3 /* Test_Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3614B451F1C8B5F00B1F4A1 /* Test_Context.swift */; };
C37DEA311F1E9B2100279AD3 /* Test_CrossAssemblyInjections.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3614B461F1C8B5F00B1F4A1 /* Test_CrossAssemblyInjections.swift */; };
C37DEA321F1E9B2100279AD3 /* Test_Injections.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3614B471F1C8B5F00B1F4A1 /* Test_Injections.swift */; };
Expand Down Expand Up @@ -49,9 +50,9 @@
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
C317CA631F1C7C2A00FAD212 /* EasyDi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EasyDi.swift; path = Sources/EasyDi.swift; sourceTree = SOURCE_ROOT; };
C317CA651F1C7C3400FAD212 /* EasyDi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EasyDi.h; path = "EasyDi-SupportingFiles/EasyDi.h"; sourceTree = SOURCE_ROOT; };
C317CA661F1C7C3400FAD212 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "EasyDi-SupportingFiles/Info.plist"; sourceTree = SOURCE_ROOT; };
8BEE13501F9A27C800A02331 /* EasyDi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EasyDi.h; sourceTree = "<group>"; };
8BEE13511F9A27C800A02331 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8BEE13551F9A27EA00A02331 /* EasyDi.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EasyDi.swift; sourceTree = "<group>"; };
C3614B3B1F1C8AE900B1F4A1 /* EasyDi-iOS-Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "EasyDi-iOS-Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
C3614B441F1C8B5F00B1F4A1 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Tests/Info.plist; sourceTree = SOURCE_ROOT; };
C3614B451F1C8B5F00B1F4A1 /* Test_Context.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Test_Context.swift; path = Tests/Test_Context.swift; sourceTree = SOURCE_ROOT; };
Expand Down Expand Up @@ -104,6 +105,23 @@
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
8BEE134F1F9A27C800A02331 /* EasyDi-SupportingFiles */ = {
isa = PBXGroup;
children = (
8BEE13501F9A27C800A02331 /* EasyDi.h */,
8BEE13511F9A27C800A02331 /* Info.plist */,
);
path = "EasyDi-SupportingFiles";
sourceTree = "<group>";
};
8BEE13541F9A27EA00A02331 /* Sources */ = {
isa = PBXGroup;
children = (
8BEE13551F9A27EA00A02331 /* EasyDi.swift */,
);
path = Sources;
sourceTree = "<group>";
};
C3614B431F1C8B4600B1F4A1 /* Tests */ = {
isa = PBXGroup;
children = (
Expand All @@ -117,15 +135,15 @@
C3614B4A1F1C8B5F00B1F4A1 /* Test_Scope.swift */,
C3614B4B1F1C8B5F00B1F4A1 /* Test_StructsInjection.swift */,
);
name = Tests;
path = EasyDi;
path = Tests;
sourceTree = "<group>";
};
C36D9F461F1C0DC9009FD9AD = {
isa = PBXGroup;
children = (
C36D9F521F1C0DC9009FD9AD /* EasyDi */,
8BEE13541F9A27EA00A02331 /* Sources */,
C3614B431F1C8B4600B1F4A1 /* Tests */,
8BEE134F1F9A27C800A02331 /* EasyDi-SupportingFiles */,
C37DEA191F1E9AA000279AD3 /* EasyDi-macOS */,
C37DEA251F1E9AE500279AD3 /* EasyDi_macOS-Tests */,
C36D9F511F1C0DC9009FD9AD /* Products */,
Expand All @@ -143,16 +161,6 @@
name = Products;
sourceTree = "<group>";
};
C36D9F521F1C0DC9009FD9AD /* EasyDi */ = {
isa = PBXGroup;
children = (
C317CA651F1C7C3400FAD212 /* EasyDi.h */,
C317CA661F1C7C3400FAD212 /* Info.plist */,
C317CA631F1C7C2A00FAD212 /* EasyDi.swift */,
);
path = EasyDi;
sourceTree = "<group>";
};
C37DEA191F1E9AA000279AD3 /* EasyDi-macOS */ = {
isa = PBXGroup;
children = (
Expand All @@ -177,7 +185,7 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
C317CA671F1C7C3400FAD212 /* EasyDi.h in Headers */,
8BEE13521F9A27C800A02331 /* EasyDi.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -324,6 +332,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8BEE13531F9A27C800A02331 /* Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -363,15 +372,15 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C317CA641F1C7C2A00FAD212 /* EasyDi.swift in Sources */,
8BEE13561F9A27EA00A02331 /* EasyDi.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
C37DEA131F1E9AA000279AD3 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C37DEA2F1F1E9B0500279AD3 /* EasyDi.swift in Sources */,
8BEE13571F9A27F200A02331 /* EasyDi.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -409,6 +418,7 @@
C3614B411F1C8AE900B1F4A1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
Expand All @@ -427,6 +437,7 @@
C3614B421F1C8AE900B1F4A1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
Expand Down
3 changes: 3 additions & 0 deletions Example/Source/Service/ServiceAssembly.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,21 @@ class ServiceAssembly: Assembly {
$0.apiClient = self.apiClient
$0.baseURL = URL(string: "https://xkcd.com")
$0.stripURLSuffix = "/info.0.json"
return $0
}
}

var apiClient: IJSONAPIClient {
return define(scope: .lazySingleton,init: JSONAPIClient()) {
$0.session = self.session
return $0
}
}

var imageService: ImageService {
return define(scope: .lazySingleton, init: ImageService()) {
$0.session = self.session
return $0
}
}

Expand Down
1 change: 1 addition & 0 deletions Example/Source/UI/FeedView/FeedViewAssembly.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class FeedViewAssembly: Assembly {
defineInjection(into: feedViewController) {
$0.xkcdService = self.serviceAssembly.xkcdService
$0.imageService = self.serviceAssembly.imageService
return $0
}
}
}
34 changes: 32 additions & 2 deletions Example/iOS Example.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,20 @@
remoteGlobalIDString = C3614B3B1F1C8AE900B1F4A1;
remoteInfo = "EasyDi-iOS-Tests";
};
C37B368B1F9E8B1C00BFF605 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = C3614AE21F1C7EB700B1F4A1 /* EasyDi.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = C37DEA181F1E9AA000279AD3;
remoteInfo = "EasyDi-macOS";
};
C37B368D1F9E8B1C00BFF605 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = C3614AE21F1C7EB700B1F4A1 /* EasyDi.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = C37DEA241F1E9AE500279AD3;
remoteInfo = "EasyDi_macOS-Tests";
};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
Expand Down Expand Up @@ -155,6 +169,8 @@
children = (
C3614AE71F1C7EB700B1F4A1 /* EasyDi.framework */,
C3614B621F1D1D8400B1F4A1 /* EasyDi-iOS-Tests.xctest */,
C37B368C1F9E8B1C00BFF605 /* EasyDi.framework */,
C37B368E1F9E8B1C00BFF605 /* EasyDi_macOS-Tests.xctest */,
);
name = Products;
sourceTree = "<group>";
Expand Down Expand Up @@ -353,6 +369,20 @@
remoteRef = C3614B611F1D1D8400B1F4A1 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
C37B368C1F9E8B1C00BFF605 /* EasyDi.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = EasyDi.framework;
remoteRef = C37B368B1F9E8B1C00BFF605 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
C37B368E1F9E8B1C00BFF605 /* EasyDi_macOS-Tests.xctest */ = {
isa = PBXReferenceProxy;
fileType = wrapper.cfbundle;
path = "EasyDi_macOS-Tests.xctest";
remoteRef = C37B368D1F9E8B1C00BFF605 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
Expand Down Expand Up @@ -553,7 +583,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.github.andreyzarembo.easydi.example.ios;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
SWIFT_VERSION = 4.0;
};
name = Debug;
};
Expand All @@ -567,7 +597,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.github.andreyzarembo.easydi.example.ios;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
SWIFT_VERSION = 4.0;
};
name = Release;
};
Expand Down
Loading

0 comments on commit 19ef603

Please sign in to comment.