diff --git a/Deploy/envirement.cpp b/Deploy/envirement.cpp
index ed5cf62..437805a 100644
--- a/Deploy/envirement.cpp
+++ b/Deploy/envirement.cpp
@@ -66,6 +66,10 @@ void Envirement::addEnv(const QString &dir, const QString &appDir, const QString
     _deployEnvironment.insert(QDir::fromNativeSeparators(path));
 }
 
+bool Envirement::inThisEnvirement(const QString &file) const {
+    //return _deployEnvironment.contains(file);
+}
+
 int Envirement::size() const {
     return _deployEnvironment.size();
 }
diff --git a/Deploy/envirement.h b/Deploy/envirement.h
index 246c775..62ae8ff 100644
--- a/Deploy/envirement.h
+++ b/Deploy/envirement.h
@@ -20,6 +20,8 @@ public:
     void setIgnoreEnvList(const QStringList &ignoreEnvList);
 
     void addEnv(const QString &dir, const QString &appDir, const QString &targetDir);
+    // return true if file exits in this envirement
+    bool inThisEnvirement(const QString &file) const;
 
     int size() const;
     QString concatEnv() const;
diff --git a/Deploy/ignorerule.cpp b/Deploy/ignorerule.cpp
index 1d069a4..13a1401 100644
--- a/Deploy/ignorerule.cpp
+++ b/Deploy/ignorerule.cpp
@@ -19,20 +19,27 @@ void IgnoreRule::addRule(const IgnoreData &rule) {
     _data.push_back(rule);
 }
 
-void IgnoreRule::check() {
-    for (auto ignore : DeployCore::_config->ignoreList) {
-        if (line.fullPath().contains(ignore)) {
-            QuasarAppUtils::Params::verboseLog(line.fullPath() + " ignored by filter" + ignore);
-            isIgnore = true;
-            continue;
-        }
+bool IgnoreRule::check(const LibInfo &info, const QString& ignoreLabel) {
+    if (info.fullPath().contains(ignoreLabel)) {
+        QuasarAppUtils::Params::verboseLog(info.fullPath() + " ignored by filter" + ignoreLabel);
+        return true;
     }
+
+    return false;
 }
 
 bool IgnoreRule::isIgnore(const LibInfo &info) {
 
+    for (auto &ignore : _data) {
 
+        bool checkPlatform = ignore.platform == info.getPlatform() || ignore.platform == UnknownPlatform;
+        bool checkPriority = ignore.prority <= info.getPriority();
 
+        if (checkPlatform && ignore.prority <= info.getPriority() && ) {
+
+        }
+        ignore.prority >
+    }
 
     check();
 }
diff --git a/Deploy/ignorerule.h b/Deploy/ignorerule.h
index 8eeff0e..9dd018f 100644
--- a/Deploy/ignorerule.h
+++ b/Deploy/ignorerule.h
@@ -27,8 +27,7 @@ private:
 
     bool checkOnlytext(const QString& lib);
 
-    void check();
-
+    bool check(const LibInfo &info, const QString &ignoreLabel);
 public:
     IgnoreRule();
     void addRule(const IgnoreData& rule);